If you are under Windows, it is recommended to learn about "IOCP". If you are under Linux, it is recommended to learn about "epoll".
If the business is not complicated and just sends and receives a large amount of data, it should be enough.
Of course, if you don’t have to use C/C++, you can try Python’s “tornado”
PS: LZ, the mainstream technology with the amount of data you mentioned can hold it
If you have a C++ background, you can consider using Thrift. This requires the server and client to be used together.
If you only consider the server, Go and NodeJS are both good choices. It will be clearer if you look at the official examples.
As for the stability of the socket connection, it mainly depends on whether the TCP heartbeat detection and data retransmission are done well. For situations where the channel is not good, such as when using a 3G card for networking, a notification will be sent every tens of seconds. The heartbeat packet of the data ensures that the disconnection request is detected as early as possible and the connection is reconnected as soon as possible. Server-side performance should not be a big problem. Even if the device sends data every second, as long as the business is not too complex, there will be no bottlenecks.
If you are under Windows, it is recommended to learn about "IOCP". If you are under Linux, it is recommended to learn about "epoll".
If the business is not complicated and just sends and receives a large amount of data, it should be enough.
Of course, if you don’t have to use C/C++, you can try Python’s “tornado”
PS: LZ, the mainstream technology with the amount of data you mentioned can hold it
If you have a C++ background, you can consider using Thrift. This requires the server and client to be used together.
If you only consider the server, Go and NodeJS are both good choices. It will be clearer if you look at the official examples.
As for the stability of the socket connection, it mainly depends on whether the TCP heartbeat detection and data retransmission are done well. For situations where the channel is not good, such as when using a 3G card for networking, a notification will be sent every tens of seconds. The heartbeat packet of the data ensures that the disconnection request is detected as early as possible and the connection is reconnected as soon as possible. Server-side performance should not be a big problem. Even if the device sends data every second, as long as the business is not too complex, there will be no bottlenecks.
I suggest you take a look at golang
There is a c++ framework ACE
fastrpc is the best C++ server framework, so easy that you can get started in 5 seconds
It would be convenient if you use golang, which is naturally high in concurrent programming. If you are familiar with C, you can consider libevent
I saw a pretty good server framework last time. You can study NF kit on open source China