当gets函数在C中运行时,转到另一个语句

Har*_*nan 1 c sockets network-programming chat

我正在用C编写一个用于局域网聊天的程序.对于聊天应用程序,我们需要在发送它时立即收到clints聊天.但问题是我使用gets()函数从一侧输入聊天,当get正在运行时,如果聊天来自另一端,则在我向另一端发送聊天之前不会收到.这是我用于在服务器端发送和接收聊天的代码.我已经删除了我使用的所有条件,因为它们都被证明毫无价值.无论当前执行哪个语句,请告诉我一旦发送聊天就从另一端显示聊天的方法.提前致谢.这是我目前的发送和接收部分代码:

while(1)
{
     printf("\n");
     gets(send_data);
     send(connected, send_data,strlen(send_data), 0);
     bytes_recieved = recv(connected,recv_data,1024,0);
     recv_data[bytes_recieved] = '\0';
     printf("Client Says: %s " , recv_data);
     fflush(stdout);
}
Run Code Online (Sandbox Code Playgroud)

Att*_*ila 5

而不是gets你将需要使用非阻塞I/O或使用线程来启用并行计算并同时监听一个客户端

这是非阻塞I/O 的介绍性页面