Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 聊天室在一段时间后自动断开连接(Android)_Java_Android_Session_Chat - Fatal编程技术网

Java 聊天室在一段时间后自动断开连接(Android)

Java 聊天室在一段时间后自动断开连接(Android),java,android,session,chat,Java,Android,Session,Chat,以下代码用于连接会话和发送或接收消息。在logcat中,最后一个表达式是register和unregister public void run() { while (true) { synchronized (sessions) { for (final OmegleSession session : sessions) { // In case anybody tries to run blocking opera

以下代码用于连接会话和发送或接收消息。在logcat中,最后一个表达式是register和unregister

public void run() {
    while (true) {
        synchronized (sessions) {
            for (final OmegleSession session : sessions) {
                // In case anybody tries to run blocking operations ._.
                service.execute(new Runnable() {
                    public void run() {
                        session.checkEvents();
                    }
                });
            }
        }
        try {
            Thread.sleep(5000);
        } catch (Exception e) {
            // uh
        }
    }
}
在控制台中获取此错误的次数不超过:

[2015-09-22 11:38:12 - ddms] null
java.nio.BufferOverflowException
at java.nio.HeapByteBuffer.put(HeapByteBuffer.java:200)
at com.android.ddmlib.JdwpPacket.movePacket(JdwpPacket.java:235)
at com.android.ddmlib.Debugger.sendAndConsume(Debugger.java:347)
at com.android.ddmlib.Client.forwardPacketToDebugger(Client.java:698)
at com.android.ddmlib.MonitorThread.processClientActivity(MonitorThread.java:344)
at com.android.ddmlib.MonitorThread.run(MonitorThread.java:263)
我在整个过程中使用的以下类,如果我没有在每个部分中使用runnable,我不会得到任何响应:

public void chatWaiting(OmegleSession session) {
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        mTxtStatus.setText("Connecting...");
                    }
                });
            }
            @Override
            public void chatConnected(OmegleSession session) {
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        mTxtStatus.setText("Stranger Connected :)");
                        //  System.out.println("You are now talking to a random stranger!");
                    }
                });
            }
            @Override
            public void strangerStoppedTyping(OmegleSession session) {
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {

                mTxtStatus.setText("Stopped typing!");
                        }
                    });
            }
            @Override
            public void strangerTyping(OmegleSession session) {
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                mTxtStatus.setText("");             
                mTxtStatus.setText("typing...");
                    }
                });
            }

这完全正常,如果你的手机进入睡眠模式,它可能会暂时断开与互联网的连接。不,事实上,当我将睡眠时间设置为30000或以上时,它不会断开连接,但聊天信息会变慢,因此如何修复它谢谢可能
catch
子句中的日志语句会提供更多信息。次优@什么你是说。请让我更新鲜,你能问一点细节吗提前谢谢,我理解你的意思,知道,好,等等,我必须在这里发布catch子句日志声明,好吗