代码:
public void run() {
while (true) {
try {
String tmp = null;
BufferedReader is = new BufferedReader(
new InputStreamReader(in));
tmp = is.readLine(); 等待阅读客户数据(在此阻塞)
if (reset == 0) { 当第一次接收客户ID信息开启二个子线程
new Thread(new ReadInfo(tmp)).start();
1: 读ID文本长度,当大于某值发送数据
new Thread(new TimingThread()).start();
2: 定时器,当reset ++等于某值关闭连接
}
reset = 1;当有数据时reset ++为1 //send("ok\n");
问题在此:如果开启发送则reset 得到预期,但要接收到需求数据会在第下一次接收数据时才会发送子线程1得到的数据!
也就是要等到心跳包再次发来客户端才能获取.
如果不用此发送(不需要发送)则reset 无效.也就是说reset 仍在reset ++值,不复位到1.请大神赐教,谢谢!!!
} catch (Exception e) {
}
}
} |