Java 聊天室在一段时间后自动断开连接(Android)
以下代码用于连接会话和发送或接收消息。在logcat中,最后一个表达式是register和unregisterJava 聊天室在一段时间后自动断开连接(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
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子句日志声明,好吗