同一个Socket实例第二次无法接收服务端数据!! (暂时占用一下首页,请多包涵,该问题困扰我两天了)
2008-12-24 11:19
459 查看
服务端:创建了两个线程来处理客户端请求,一个线程用于接收连接进来的Socket,并将Socket添加到一个队列Queue对象中;另外一个线程用于将Queue中的Socket提出来进行接收、发送操作,接收、发送操作采用异步方式。
客户端:用连接到服务端的Socket创建一个NetworkStream的实例(NetworkStream stream = new NetworkStream(socket, true);),并将该NetworkStream的实例,包装到一个System.IO.BufferedStream的实例中(/*用于接收*/Stream inStream = new BufferedStream(stream); /*用于发送*/Stream outStream = new BufferedStream(stream);)进行与服务端的数据收发。
然后我创建了一个连接池,初始化创建了10个服务端的连接,然后写了一个单线程的测试程序,从连接池中将这10个连接依次取出来发送、接收数据,一切OK(将连接都还回了连接池),但当我再次从连接池取出一个连接(已用完10个创建的连接,这次是第二次取出的连接,在前面是已经使用过的)进行发送、接收数据时,测试程序无法接收到服务端的返回的数据。(不管在客户端还是服务端,在发送/接收完数据后,我都没有关闭连接)
从服务端的日志看,服务端是接收到了客户端发来的数据的,并且服务端也成功将数据发送出去了,只是客户端没有接收到。
此问题困扰在下两天了,望达人指教~
客户端:用连接到服务端的Socket创建一个NetworkStream的实例(NetworkStream stream = new NetworkStream(socket, true);),并将该NetworkStream的实例,包装到一个System.IO.BufferedStream的实例中(/*用于接收*/Stream inStream = new BufferedStream(stream); /*用于发送*/Stream outStream = new BufferedStream(stream);)进行与服务端的数据收发。
然后我创建了一个连接池,初始化创建了10个服务端的连接,然后写了一个单线程的测试程序,从连接池中将这10个连接依次取出来发送、接收数据,一切OK(将连接都还回了连接池),但当我再次从连接池取出一个连接(已用完10个创建的连接,这次是第二次取出的连接,在前面是已经使用过的)进行发送、接收数据时,测试程序无法接收到服务端的返回的数据。(不管在客户端还是服务端,在发送/接收完数据后,我都没有关闭连接)
从服务端的日志看,服务端是接收到了客户端发来的数据的,并且服务端也成功将数据发送出去了,只是客户端没有接收到。
此问题困扰在下两天了,望达人指教~
相关文章推荐
- GCDAsyncSocket接收数据连包无法解析的问题
- 一个简单的socket服务端和客户端程序:客户端发送数据给服务端,服务端接收到数据后再给客户端发送数据
- 大汗!!困扰了我两天的问题, 竟然是在PostBack之后没有取消绑定--GridView数据无法更新的问题
- Socket处理发送和接收数据包,一个小实例:
- 一个关于UDP socket服务端接收长度不正确的问题
- 一个socket连接、发送、接收数据失败后是否可以重新进行连接的问题
- 有关使用 GPS Intermediate Driver 无法获取到GPS数据的一个问题
- Python对excel写入数据操作实例代码(改进无法合并最后一组数据的问题)
- 总结一下关于 spring-security 3 ajax session 超时首页无法跳转的问题
- .net C# 异步socket ,监听和接收数据时可能会引起的 无法访问已释放的对像异常.捕捉处理.
- 一个不认真引发的数据无法录入润乾报表中的问题
- PHP-Socket服务端客户端发送接收通信实例详解
- 有关使用 GPS Intermediate Driver 无法获取到GPS数据的一个问题
- 一个ASP.NET2.0的问题,实在无法解决,请大家帮忙看看(放在首页一天后撤下,请DUDU原谅)问题已经解~~^_^
- 服务端返回List<Map<String,Object>>数据,$http 无法接收
- 有关使用 GPS Intermediate Driver 无法获取到GPS数据的一个问题
- DM9000A驱动调试(解决网卡无法接收数据问题)
- android.os.NetworkOnMainThreadException真机无法接收服务端数据
- 中标麒麟(linux)下QUdpSocket无法使用组播发送数据问题
- 由一个论坛帖子, 解决udp 服务器无法返回数据给第一个客户端的问题