发送数据客户端服务器的最佳方式

时间:2012-02-14 08:01:11

标签: c++ windows sockets client

处理需要发送到服务器的数据的最佳方法是什么?我有一个多线程客户端,在所有线程中都有需要发送到服务器的数据。但是当我启动服务器时,有时会同时发送数据包。所以当时数据不正确。

我想,让我们制作一个每隔x ms发送到服务器的堆栈。这是一个很好的方法吗?

2 个答案:

答案 0 :(得分:3)

您可以使用邮件队列结构。服务器中只有一个队列,每当一条消息到达队列时,它就会被添加到队列的末尾,因此即使消息也会在订购的同时发送。之后,通过使消息出列来处理队列中的消息。您可以使用许多开源消息队列结构,因此您不必从头开始实现它。 您不必等待x秒即可将数据发送到此结构中的服务器。这将使您的系统更快。

希望有所帮助

答案 1 :(得分:2)

每个客户端线程打开一个套接字。这样,服务器可以分离它来自哪个线程,并且所有内容都按顺序保存。