我正在使用 c 中的 tcp/ip 制作聊天服务器和客户端。我制作了线程多个客户端的服务器部分。在客户端,我有一个 while 循环,可以发送一行,然后等待服务器回复。我想让客户端轮询发送和接收函数,以检查另一个客户端是否发送了一些东西。这就是我所拥有的——
while (1){
char buffer[BUFLEN];
memset(buffer, 0, sizeof buffer);
gets(buffer);
//sendall(sd, buffer, BUFLEN);
send(sd, buffer, BUFLEN, 0);
printf("sent:%s\n",buffer);
//recvline(sd, buffer, BUFLEN);
recv(sd, buffer, BUFLEN, 0);
printf("recieved:%s\n", buffer);
}
如何同时轮询 send() 和 recv() 并执行最先出现的那个?
想做这样的事情。。
if(send(sd, buffer, BUFLEN, 0) == true)
send something
else if(recv(sd, buffer, BUFLEN, 0) == true)
receive something