【发布时间】:2009-10-12 11:11:15
【问题描述】:
我已经在 Unix OS 上使用 C 中的套接字编程实现了客户端服务器。我在客户端使用了非阻塞套接字。我想实现双向通信。但它只能以一种方式工作,即客户端可以在服务器上读取和写入数据,但服务器不能在客户端上读取或写入数据。
客户
nread = recv(sock, ptr, nleft, MSG_DONTWAIT))
send(sock, ptr, nleft, 0))
服务器
recv(sock, ptr, nleft, MSG_DONTWAIT))
SockWrite(sock, Message, dataLength)
服务器在读取时总是遇到问题。谁能解释一下为什么以及如何摆脱这种情况?
【问题讨论】:
-
发布完整的源代码将增加您收到答案的机会。
-
您能否澄清一下-您的意思是客户端可以“从服务器接收数据”和“向服务器发送数据”?如果是这种情况,那么您的服务器似乎能够从客户端发送/接收数据。
-
是的,我想要客户端和服务器之间的双向通信。