当前位置: 代码迷 >> J2SE >> 求看看这段socket 代码为什么执行不下去了,多谢
  详细解决方案

求看看这段socket 代码为什么执行不下去了,多谢

热度:81   发布时间:2016-04-24 01:18:33.0
求看看这段socket 代码为什么执行不下去了,谢谢
各位好

以下是一段socket只用来接收的代码,我用debug调试,在accept()后,执行到标记处就执行不下去了,这是为什么呢?

Java code
    // receiver class    class ServerListener extends Thread{        Socket serverSocket = null;                @Override        public void run() {            while(true){                try {                    Log.w(TAG_LISTENER, "ServerListener run() {");                    serverSocket = mSocket.accept();                                        BufferedInputStream in = new BufferedInputStream(serverSocket.getInputStream());                                        byte[] reader = new byte[10];                    int count = 0;                    boolean flag = false;                    while((count = in.read(reader))>0){   <---  执行不下去了                        flag = true;                        bq.enQueue(reader[0]);                        Log.w(TAG_LISTENER, reader.toString() + " is added to byteQueue");                    }                    Log.w(TAG_LISTENER, "***** ServerSender start");                                        if(flag){                        new ServerSender(serverSocket).start();                        flag = false;                    }                } catch (IOException e) {                    e.printStackTrace();                }            Log.w(TAG_LISTENER, "}");            }        }    }


先谢谢了。

------解决方案--------------------
in.read(reader) 是堵塞性方法,楼主可以找一下这方面的资料看一下。
  相关解决方案