java socket遇到的问题:
客户端:android3.1
服务器端:winXp , j2se
遇到的问题:
1.连接状态感知
起初用心跳来维持连接,发送sendUrgentData(1)。 事实证明这种方法虽然可用,但使用起来有问题,发送不能地于频繁,否则会影响我们真正的数据收发。另外,这个数据包还是会被对方的socket对象接收到,这样就影响了我们的应用层面上的数据处理了。
后来,用一种更合理的方式,在接收时,先判断firstData = inputStream.read(); 返回的是否为-1 。 如果为-1 , 则说明对方已经断开,可以向上层抛出异常, 否则可以继续正常数据接收。
2.对于连接顺序、收发顺序的控制
我的应用是一个端口上建立两个通道。 两个通道的连接顺序需要控制好。
未完, 继续整理。