赞
踩
一般情况下,都为阻塞
阻塞情况下,客户端发送的消息服务端无法接受。改用recv替换read。
这样改也是不行的,因为套接字接收与发送都是默认为阻塞模式,所以多方通信需要套接字描述符为非阻塞方式。需要改变套接字的文件属性。
- // 设置非阻塞方式
- flags = fcntl(new_fd, F_GETFL, 0);
- fcntl(new_fd, F_SETFL, flags | O_NONBLOCK);
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。