A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 郑云斌 中级黑马   /  2014-5-9 09:49  /  768 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

代码:
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) {                       
                }                       
        }
}

评分

参与人数 1技术分 +1 收起 理由
天涯追梦 + 1

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马