ASIO socket wired observation

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

ASIO socket wired observation

Boost - Dev mailing list
Hi,

I have been using asio tcp socket on desktop Ubuntu for years, but I
have never seriously run interface connections in a LTE embedded
system, here is what I have observed wired thing:

- Client initialized TCP socket connection to remote server, the
connection was established.

- Client sent data to server via Internet every one minute, all good.

- Somehow, the LTE connection dropped, there was no any network
connection available, but the client keep sent messages, there was no
error about the network connection, the message obvious could not go
Internet, it accumulated in the RAM, the original each message size
was 79 bytes, the size was accumulated became 52790 bytes, it kept
going for ever until I terminate the client program.
.......
Send message size: 52790
Send message size: 52869
Send message size: 52948
.....

Is it normal behavior of ASIO socket or what I did wrong here?
Appreciate your insight tips to fix this problem to trig client socket
error not keeping sending message going no way.

Thank you.

Kind regards,

- jupiter

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: ASIO socket wired observation

Boost - Dev mailing list
On 2019-08-03 1:10 PM, JH via Boost wrote:

> Hi,
>
> I have been using asio tcp socket on desktop Ubuntu for years, but I
> have never seriously run interface connections in a LTE embedded
> system, here is what I have observed wired thing:
>
> - Client initialized TCP socket connection to remote server, the
> connection was established.
>
> - Client sent data to server via Internet every one minute, all good.
>
> - Somehow, the LTE connection dropped, there was no any network
> connection available, but the client keep sent messages, there was no
> error about the network connection, the message obvious could not go
> Internet, it accumulated in the RAM, the original each message size
> was 79 bytes, the size was accumulated became 52790 bytes, it kept
> going for ever until I terminate the client program.
> .......
> Send message size: 52790
> Send message size: 52869
> Send message size: 52948
> .....
>
> Is it normal behavior of ASIO socket or what I did wrong here?
> Appreciate your insight tips to fix this problem to trig client socket
> error not keeping sending message going no way.
>
> Thank you.
>
> Kind regards,
>
> - jupiter
>
This is pretty much how cell networks behave, the system itself is never
really sure if the connection is truly down or just momentarily disrupted.

What you can do is notice the timestamp of last incoming packet (perhaps
using keep-alive packets) and then decide that the network is "down"
when you haven't received a packet in a particular period of time.

--
Scapix Language Bridge
Automatically generated C++ bindings for|Java|,|Objective-C|,|Swift|,|Python and ||JavaScript (Emscripten)|
https://www.scapix.com
https://github.com/scapix-com/scapix


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost