大家好:
最近项目中需要涉及到数据的网络传输,服务端和客户端建立tcp连接,服务端在采集到实时数据后,将数据打包发送到客户端,网络I/0模式用的select模型,现在问题时,服务端在accpet到客户端连接后,会不停实时发送数据给客户端,但是会出现随机问题是,会有几次(次数和时间不定)客户端与服务端建立连接后,无法收到服务端的数据,调试发现,是服务端在发送数据时,使用select模型,在调用select函数时,一直是返回超时

解决方案 »

  1.   

    是不是你的select没用对,这里有很多socket源码,你看一下MsgSndSrv程序,用到了select。
    http://download.csdn.net/detail/geoff08zhang/4571358
      

  2.   

    select如果你设置了超时时间,本身就会超时的呀,如果你设置无限等待就不会超时。
      

  3.   

    如果你设置的超时时间比较短,那么超时是常态。没有收到数据是因为你在数据到达的时候没有在select 测试是否可读。
      

  4.   

    直接netstat 看连接是否存在可以初步判断问题,再通过抓包工具wireshark就可以确定是哪方代码的问题了!