【问题标题】:Best way to send data client server发送数据客户端服务器的最佳方式
【发布时间】:2012-02-14 08:01:10
【问题描述】:

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

我想,让我们创建一个每 x 毫秒发送到服务器的堆栈。这是一个好方法吗?

【问题讨论】:

    标签: c++ windows sockets client


    【解决方案1】:

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

    希望对你有帮助

    【讨论】:

      【解决方案2】:

      为每个客户端线程打开一个套接字。这样服务器就可以从它来自哪个线程中分离出来,并且一切都井井有条。

      【讨论】:

      • 我已经有了,但问题是客户端是多线程的。所以它会一次发送多行。
      • 但是每个线程一次只发送一行,所以如果你把套接字分开,那么你就可以把一切都安排好。我错过了什么吗?
      • 对不起,我看错了你的答案。你是骑。这确实是可能的。但是为客户端使用 1 个套接字不是更容易吗?
      猜你喜欢
      • 1970-01-01
      • 2011-08-10
      • 2018-01-11
      • 2014-05-16
      • 2010-10-13
      • 2018-10-03
      • 2010-11-04
      • 2015-02-10
      • 1970-01-01
      相关资源
      最近更新 更多