【发布时间】:2014-06-23 12:34:25
【问题描述】:
我已经在我的服务器上编写了一段代码作为多个线程
问题是当我在另一个套接字上接收时它不发送数据。
所以如果我从客户端 1 向客户端 2 发送一些东西,客户端 2 只有在他自己发送一些东西时才会收到(跳出 recv 函数).. 我该如何解决这个问题?
/* Thread*/
while (! stop_received) {
nr_bytes_recv = recv(s, buffer, BUFFSIZE, 0);
if(strncmp(buffer, "SEND", 4) == 0) {
char *message = "Text asads \n";
rv = send(users[0].s, message, strlen(message), 0);
rv = send(users[1].s, message, strlen(message), 0);
if (rv < 0) {
perror("Error sending");
exit(EXIT_FAILURE);
}
}else{
char *message = "Unknown command \n";
rv = send(s, message, strlen(message), 0);
if (rv < 0) {
perror("Error sending");
exit(EXIT_FAILURE);
}
}
}
【问题讨论】: