【发布时间】:2018-10-17 22:28:14
【问题描述】:
我正在开发一个项目,该项目有一个发布者和一个订阅者,通过常规 TCP 套接字连接进行连接。发布者以一定的速率生成消息,通过套接字发送它们,然后订阅者处理这些消息。没有消息队列,只有纯 TCP 套接字连接。
问题是发布者中的套接字“write”方法在调用时似乎需要很长时间,这降低了发布者发送数据的速率。
我一直在做一些关于套接字的阅读,并且可以想到两种可能导致这种情况的情况:
网络速度不够快,无法处理发送消息的发送速率。在这种情况下,我认为发布者上的套接字出站缓冲区应该被填满。
消费者处理消息的速度很慢,因此我希望消费者的入站缓冲区已满。这将(据我了解)导致套接字写入方法阻塞。
我还在学习套接字编程,我不确定我上面的分析是否有意义。如果是这样,确定它是哪种情况的好方法可能是什么?需要注意的一点是,消费者在 Linux 机器上,而发布者是 Windows 机器。任何帮助,将不胜感激!
【问题讨论】:
标签: linux windows sockets networking tcp