聊天小项目(二)read阻塞问题解决

一般情况下,都为阻塞

阻塞情况下,客户端发送的消息服务端无法接受。改用recv替换read。

这样改也是不行的,因为套接字接收与发送都是默认为阻塞模式,所以多方通信需要套接字描述符为非阻塞方式。需要改变套接字的文件属性。

    // 设置非阻塞方式
	flags = fcntl(new_fd, F_GETFL, 0);
    fcntl(new_fd, F_SETFL, flags | O_NONBLOCK); 
发布了91 篇原创文章 · 获赞 75 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/fengxianghui01/article/details/104420109
今日推荐