阻塞状态下,正在监听,在这种情况下是否可以发数据?

解决方案 »

  1.   

    acceptex可以接收带外数据,客户端connect时带来的带外数据。作为监听的socket最好不要用来收发数据,这将影响客户端的连接请求,从而影响系统的性能
      

  2.   

    是否可以启动2个线程,把同一SOCKET句柄放到这2个线程中。一个线程中正在监听,正在阻塞,但另一个可以发送数据,也可以关闭这个SOCKET。
    这样的做法可以么?
      

  3.   

    监听的套接字和你收发的套接字 不是同一个套机子。你accept后返回的那个套接字 才是你用来收发数据的那个套接字而用来监听的套接字 将继续用来监听的
      

  4.   

    用2个套接字我是明白的。现在我的项目里需要的是这样:一个SOCKET正在RECEIVE,如果不能接收到数据则不能返回,但是我的软件得退出啊,我得把这个SOCKET关掉啊,所以呢,我想另起一个线程,然后把那个SOCKET的句柄传进去,把它关闭掉。这样可以么?请大家帮忙啊/
      

  5.   

    使用多线程,一个线程负责监听某个固定的socket,其他线程负责和相应的socket通信
      

  6.   

    端口改成非阻塞模式,然后用select来判断当前端口是否可读。
      

  7.   

    select是不是可以用于阻塞模式,又可以用于非阻塞模式?