通过 Unix 域套接字发送结构
我正在使用 Unix 域套接字在 Linux 中进行一些进程间通信。连接后,客户端使用 send 向服务器发送一个结构。该结构包含有关客户端的一些信息,包括末尾的标识符字符串。服务器接收刚刚找到的信息并发送回另一个结构。客户端使用 recv 进行阻塞,但永远不会得到任何东西。服务器完成send调用,没有任何错误并继续。
我在这里缺少一些基本的东西吗?当我通过套接字发送字符串时,双方发送和接收都很好。数据是否必须以 NULL 结尾?这似乎不对……
I am using Unix domain sockets to do some interprocess communication in Linux. Upon connection, the client sends a struct using send to the server. This struct contains some information about the client including an identifier string at the end. The server receives the info just find and sends another struct back. The client blocks with recv, but never gets anything. The server completes the send call without any errors and moves on.
Is there something fundamental that I am missing here? When I send strings across the socket both sides send and receive just fine. Does the data have to have a terminating NULL? That does not seem right...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
当我第二天进来时,我无法再次重现该错误。
When I came in the next day, I could not reproduce the error again.
尝试刷新服务器上的套接字。
Try flushing the socket on the server.