我的设备连接到 TCP 服务器,它会定期发送心跳。有时,这个心跳包与其他一些包一起到达,并且在我在套接字上读取的程序中,这两个包合并并读取为单个包,这会导致应用程序逻辑出现应用程序问题。我仍然可以添加一些解决方法,但是有什么方法可以告诉内核将这两个数据包作为单独的数据包而不是单个数据包发送?
服务器上的逻辑 - 接受传入连接,当设备连接时,创建一个单独的线程与设备通信,设置 TCP_NODELAY,我在从套接字读取数据之前使用轮询。在任何给定时间点大约有 100 个线程。
c sockets linux network-programming tcp
c ×1
linux ×1
network-programming ×1
sockets ×1
tcp ×1