当前位置:  技术问答>linux和unix

socket 阻塞模式下怎么从服务器群发

    来源: 互联网  发布时间:2016-06-28

    本文导语:  while(1) {  new_fd=accept(); } 类似与这样,我想实现服务器端群发功能 就是accept()函数能从listen()函数里取得多个新的套接字 然后存入数组, 进行循环群发 但是有个问题 accept()函数是阻塞模式下的 如果没有客户端跟他连...

while(1)
{
 new_fd=accept();
}
类似与这样,我想实现服务器端群发功能
就是accept()函数能从listen()函数里取得多个新的套接字
然后存入数组,
进行循环群发
但是有个问题
accept()函数是阻塞模式下的 如果没有客户端跟他连接,我想退出循环 可是accept会一直等待,无法退出
请问有什么好方法 可以在阻塞模式下实现我想要的功能
切记是单线程的

|
linux下连epoll都算阻塞模型吧。

accept()函数是阻塞模式下的 如果没有客户端跟他连接,我想退出循环 可是accept会一直等待,无法退出 
请问有什么好方法 可以在阻塞模式下实现我想要的功能 

现在你是说只能单线程,而又不让阻塞在listen或者accept??
那我还真没办法了。。

 select也是阻塞的。


|
但是基本上没有实现不了的功能,是你把前提限定死了,为何不可以多线程呢?又或者一定要退出accpet呢?

|
如果局域网你要实现的话,
而且单线程实现、只能用广播了。。。

|
用select可以设置超时时间啊,
当然也可以用alarm

    
 
 

您可能感兴趣的文章:

  • linux 如何用SOCKET设置函数设置阻塞和非阻塞?
  • 非阻塞SOCKET,竟然也会阻塞?
  • 初级问题,socket(AF_INET, SOCK_STREAM, 0)是阻塞式还是非阻塞式?
  • 关于socket编程中阻塞的问题
  • linux C socke编程 创建的socket默认是阻塞的还是非阻塞的?
  • linux socket fd 写阻塞问题
  • socket编程,关于connect阻塞问题
  • 非阻塞socket该如何使用。。。
  • 当进程处于socket读阻塞模式中,外部SIGNAL发生,此时信号相应响应函数可否进行socket写?
  • select和非阻塞socket的迷惑
  • linux下socket的send函数阻塞问题?
  • solaris socket 非阻塞recv产生 EBADF 错误
  • 求教!为何在socket编程中调recv函数无法阻塞?
  • 非阻塞的socket的问题
  • socket编程,设为非阻塞,客户端怎么判断connect已经成功呢?
  • 昨天发现fcntl设置非阻塞SOCKET会频繁的失败,不知道什么原因.
  • socket 非阻塞 出错
  • 一个socket阻塞问题 ,请多多指教!!!(只剩下100分了)
  • 急问:怎么判断一个非阻塞的socket已经断开了?
  • linux下如何设置一个socket为非阻塞方式?
  • socket套接字群发?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux epoll的ET模式和LT模式的主要区别是什么呢?为什么ET模式一定要用非阻塞socket?
  • socket双向通讯模式请教
  • UDP杂收模式socket编程
  • 求助socket编程问题:C/S模式.客户端调用Winsock函数connect()的时候,返回错误码是10065(主机路由不可达).
  • 求助,关于linux下socket的select模式编程
  • 使用TCP,在客户端怎么知道建立好的连接已经断开?怎么用非阻塞模式,以及怎么知道socket已经收到数据并立即将数据读出?
  • 非阻塞方式socket中, 去读select返回的sockfd是否一定是非0值??如果读到的字节数比期望少有没有什么好的处理模式??
  • 急问:怎么判断一个非阻塞的socket已经断开了? iis7站长之家
  • java命名空间java.net类socket的类成员方法: socket定义及介绍
  • re socket编程中 ACCEPT返回的socket与原socket(他参数中的)端口号一样吗?
  • java命名空间java.nio.channels类socketchannel的类成员方法: socket定义及介绍
  • libevent2需要从socket读一段数据写入一个socket中,同时发送给另一个socket
  • java命名空间java.nio.channels类serversocketchannel的类成员方法: socket定义及介绍
  • socket 通讯开发包 Simple Sockets
  • java命名空间java.nio.channels类datagramchannel的类成员方法: socket定义及介绍
  • C++ Socket 库 C++ Sockets
  • java命名空间java.net类socket的类成员方法: getsendbuffersize定义及介绍
  • vc做的的socket应用和unix下socket?
  • java命名空间java.net类socket的类成员方法: getreceivebuffersize定义及介绍
  • QSocketDevice ( int socket, Type type )中那个 int socket 是哪里来得?
  • java命名空间java.net类socket的类成员方法: gettrafficclass定义及介绍
  • socket编程 通过man socket, 没有找到socket函数的第一参数该填什么 怎样利用man手册
  • java命名空间java.net类socket的类成员方法: getport定义及介绍
  • 线程间可否通过管道传递SOCKET句柄?还有其他方式传递SOCKET么?
  • java命名空间java.net类socket的类成员方法: getlocalport定义及介绍
  • [FreeBSD] 大神,求解,control socket : can‘t to any socket
  • java命名空间java.net类socket的类成员方法: getinetaddress定义及介绍
  • 两个 Socket 互相通信,其中一个如何判断另一个 Socket 是否已经意外断开了连接?
  • java命名空间java.net类socket的类成员方法: isconnected定义及介绍
  • 大家帮忙推荐一本linux socket编程的入门书,我刚接触socket,谢谢!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3