【发布时间】:2019-03-05 18:50:30
【问题描述】:
我正在开发运行 Linux 的嵌入式设备。在我的应用程序中,一个服务器线程打开一个 UDS 套接字并等待连接。当客户端(不同的应用程序/进程)连接时,它会处理请求并发送请求的数据。
请求的数据通常超过 52KB。然而,send() 调用仅在发送 32064 字节后返回。这种行为是间歇性的;通常整个 52KB 或更多的大小都可以毫无问题地发送到客户端进程。
有人可以建议 send() 在传输过程中返回的可能原因是什么吗?
我没有客户端代码,只有服务器代码,但我不允许在这里发布。据我所知,我没有看到服务器代码关闭了所述套接字。它仅在整个应用程序关闭时关闭。
有没有一种方法可以在没有客户端或服务器明确关闭它的情况下结束套接字连接?由于我没有客户端代码,我正在寻找服务器代码正在做一些愚蠢的事情的可能性。
感谢您对此的任何意见。
谢谢!
【问题讨论】:
标签: c sockets unix-socket