java socket

java socket遇到的问题:

客户端:android3.1

服务器端:winXp , j2se

 

遇到的问题:

1.连接状态感知

   起初用心跳来维持连接,发送sendUrgentData(1)。  事实证明这种方法虽然可用,但使用起来有问题,发送不能地于频繁,否则会影响我们真正的数据收发。另外,这个数据包还是会被对方的socket对象接收到,这样就影响了我们的应用层面上的数据处理了。

   后来,用一种更合理的方式,在接收时,先判断firstData = inputStream.read(); 返回的是否为-1 。 如果为-1 , 则说明对方已经断开,可以向上层抛出异常, 否则可以继续正常数据接收。

2.对于连接顺序、收发顺序的控制

   我的应用是一个端口上建立两个通道。 两个通道的连接顺序需要控制好。

 

 

未完, 继续整理。

你可能感兴趣的:(java socket)