Linux 通过Unix域套接字发送结构
我正在使用Unix域套接字在Linux中进行一些进程间通信。连接后,客户端使用send向服务器发送结构。此结构包含有关客户端的一些信息,包括末尾的标识符字符串。服务器接收信息justfind并发送另一个struct返回。客户端使用recv进行阻止,但从未获得任何信息。服务器在没有任何错误的情况下完成发送调用并继续Linux 通过Unix域套接字发送结构,linux,sockets,unix,systems-programming,Linux,Sockets,Unix,Systems Programming,我正在使用Unix域套接字在Linux中进行一些进程间通信。连接后,客户端使用send向服务器发送结构。此结构包含有关客户端的一些信息,包括末尾的标识符字符串。服务器接收信息justfind并发送另一个struct返回。客户端使用recv进行阻止,但从未获得任何信息。服务器在没有任何错误的情况下完成发送调用并继续 我在这里遗漏了什么基本的东西吗?当我通过套接字发送字符串时,两边的发送和接收都很好。数据是否必须具有终止NULL?这似乎不对…尝试刷新服务器上的套接字。尝试刷新服务器上的套接字。当我第
我在这里遗漏了什么基本的东西吗?当我通过套接字发送字符串时,两边的发送和接收都很好。数据是否必须具有终止NULL?这似乎不对…尝试刷新服务器上的套接字。尝试刷新服务器上的套接字。当我第二天来时,我无法再次复制错误。当我第二天来时,我无法再次重现错误。套接字是数据报模式还是流模式?它们是流模式。您的问题意味着这只发生在结构上。INT或CHAR是否一切正常?这听起来像是在一个相关函数调用的手册页中解释的事情。并不是说这是一个不好的问题,所以,我只是建议您在等待答案时仔细阅读文档。您所描述的应该可以。也许可以尝试将问题隔离到一个小的代码示例中?套接字是数据报还是流模式?它们是流模式。您的问题意味着这只发生在结构上。INT或CHAR是否一切正常?这听起来像是在一个相关函数调用的手册页中解释的事情。并不是说这是一个不好的问题,所以,我只是建议您在等待答案时仔细阅读文档。您所描述的应该可以。也许可以尝试将问题隔离到一个小代码示例中?除了close之外,我看不到任何可以刷新套接字的东西。尝试将
send()
函数的flags
参数设置为MSG\u EOR
。除了close之外,我看不到任何可以刷新套接字的东西。尝试设置send()的flags
参数
功能至MSG\u EOR
。