L
L
levap2012-11-14 09:42:00
Java
levap, 2012-11-14 09:42:00

Choosing a Technology for a TCP Connection Server

Help me decide on a technology (and even better, a ready-made library) for implementing a TCP connection server. The number of simultaneous connections is as large as possible, while the volume of transmitted traffic is minimal. The exchange is bidirectional.

The project is a server for collecting telemetric information from GSM terminals. Target Linux platform. The language is not particularly important, most likely C++, Java.

Answer the question

In order to leave comments, you need to log in

7 answer(s)
W
Wedmer, 2012-11-14
@levap

The fastest start is libSockets , but there may be flexibility issues.
Asio provides, in addition to the sockets themselves, a service tool, which, if you understand how they are arranged, allows you to get very flexible solutions.
Well, there is a classic implementation on native sockets without unnecessary strapping.
haven't tried libevent.
Well, do not forget about Qt. The second fastest start of the above.
I think that in your case Asio is the most suitable, given the experience of developing on it.

I
ixSci, 2012-11-14
@ixSci

boost::asio?

U
unSeen, 2012-11-14
@unSeen

Check out libuv: github.com/joyent/libuv

R
Ramires, 2012-11-14
@Ramires

A slightly similar question . There were many interesting links there.

S
Stdit, 2012-11-14
@Stdit

To the above, I will add that many praise nodejs in terms of “a huge number of connections” and development speed. I also used it as a tcp server in two projects, but they are not particularly loaded, so it's too early to recommend it unequivocally. I liked the asynchronous architecture of ECMAScript, coupled with the event model. The speed is good. The garbage collector hasn't let me down yet. Though there can be and a rake. For example, I did not find support for TCP_KEEPCNT and other setsockopt options there.

L
levap, 2012-11-15
@levap

Thanks everyone for the replies! I will now shovel the information. I'll mark the last answer as the solution.

V
v- death, 2015-12-14
@vGrabko99

golang without any libraries will suit you. I raise the server on it in 5 minutes (wrote, compiled, launched) so go for it)

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question