epoll写聊天程序 如何实现非阻塞通信

比如
if(events[i].events&EPOLLOUT)
{
sockfd=events[i].data.fd;
int write_bytes=write(sockfd,write_buf,10);
modfd(epollfd,sockfd,EPOLLIN);
}
当发送之后就修改了sockfd的状态 如果接着写信息 只有等下次另一端发送信息后 修改sockfd为EPOLLOUT才会触发 才可以看到上次对方写的消息 请问这里该怎么写才能使得两端实时接收到对方发送的消息而不用自己必须先发送消息才能看得到

还是说必须写成多线程的方式 用两个线程分别处理读和写操作?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问