当前位置: 技术问答>linux和unix
客户端如果不使用多线程可以实现收发同时进行吗?
来源: 互联网 发布时间:2017-03-02
本文导语: 初学socket通信,请教大家一个问题,先拜谢了 写一个类似聊天室的小程序,借助于旧的代码,serv用的poll函数实现于多个客户端的通信。 通过启动多个client进程来模拟多个用户。 现在要实现的是: 每个用户需要既能...
初学socket通信,请教大家一个问题,先拜谢了
写一个类似聊天室的小程序,借助于旧的代码,serv用的poll函数实现于多个客户端的通信。
通过启动多个client进程来模拟多个用户。
现在要实现的是:
每个用户需要既能自己发言也能接收其他所有的客户端的发言,如果不用多线程,想问poll能实现吗,这个函数是只能用于服务器端?
写一个类似聊天室的小程序,借助于旧的代码,serv用的poll函数实现于多个客户端的通信。
通过启动多个client进程来模拟多个用户。
现在要实现的是:
每个用户需要既能自己发言也能接收其他所有的客户端的发言,如果不用多线程,想问poll能实现吗,这个函数是只能用于服务器端?
|
scanf就是从标准输入中读,,,标准输入的描述符为0 ,,
你可以把0加入到select的readset中,,然后若0变为可读,就用scanf读取一行(这时候就不会阻塞了),然后发送。
|
poll监听0和socket就可以不阻塞了,0可读就读0,socket可读就读socket