Java libGDX:SocketTimeoutException与android
我目前正在使用libgdx。我想通过WebSocket连接到已经运行的Java服务器应用程序。 当我启动桌面应用程序时,everythins工作正常,但android应用程序无法连接 我收到以下LogCat输出: 03-13 16:05:21.508:E/AndroidRuntime(27405):致命异常:GLThread 2370 03-13 16:05:21.508:E/AndroidRuntime(27405):进程:com.myProject.android,PID:27405 03-13 16:05:21.508:E/AndroidRuntime(27405):com.badlogic.gdx.utils.GdxRuntimeException:与192.168.1.100进行套接字连接时出错:4444 03-13 16:05:21.508:E/AndroidRuntime(27405):位于com.badlogic.gdx.net.NetJavaSocketImpl.(NetJavaSocketImpl.java:51) 03-13 16:05:21.508:E/AndroidRuntime(27405):位于com.badlogic.gdx.backends.android.AndroidNet.newClientSocket(AndroidNet.java:70) 03-13 16:05:21.508:E/AndroidRuntime(27405):位于com.myProject.ServerConnector.connect(ServerConnector.java:53) 03-13 16:05:21.508:E/AndroidRuntime(27405):在com.myProject.application.XDKVisualizer.create(XDKVisualizer.java:61) 03-13 16:05:21.508:E/AndroidRuntime(27405):位于com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged(AndroidGraphics.java:241) 03-13 16:05:21.508:E/AndroidRuntime(27405):在android.opengl.GLSurfaceView$GLThread.guarderrun(GLSurfaceView.java:1512) 03-13 16:05:21.508:E/AndroidRuntime(27405):位于android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240) 03-13 16:05:21.508:E/AndroidRuntime(27405):原因:java.net.SocketTimeoutException:在2147483647ms之后未能连接到/192.168.1.100(端口4444):断开连接失败:ETIMEDOUT(连接超时) 03-13 16:05:21.508:E/AndroidRuntime(27405):在libcore.io.IoBridge.isConnected(IoBridge.java:225) 03-13 16:05:21.508:E/AndroidRuntime(27405):在libcore.io.IoBridge.connecterNo(IoBridge.java:165)上 03-13 16:05:21.508:E/AndroidRuntime(27405):在libcore.io.IoBridge.connect(IoBridge.java:116)上 03-13 16:05:21.508:E/AndroidRuntime(27405):在java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192) 03-13 16:05:21.508:E/AndroidRuntime(27405):在java.net.PlainSocketImpl.connect(PlainSocketImpl.java:460) 03-13 16:05:21.508:E/AndroidRuntime(27405):位于java.net.Socket.connect(Socket.java:838) 03-13 16:05:21.508:E/AndroidRuntime(27405):位于com.badlogic.gdx.net.NetJavaSocketImpl.(NetJavaSocketImpl.java:46) 03-13 16:05:21.508:E/AndroidRuntime(27405):。。。还有6个 03-13 16:05:21.508:E/AndroidRuntime(27405):原因:libcore.io.ErrnoException:断开连接失败:ETIMEDOUT(连接超时) 03-13 16:05:21.508:E/AndroidRuntime(27405):在libcore.io.IoBridge.isConnected(IoBridge.java:212) 03-13 16:05:21.508:E/AndroidRuntime(27405):。。。还有12个 以下是服务器和客户端应用程序的代码片段: 服务器: 客户:Java libGDX:SocketTimeoutException与android,java,android,sockets,libgdx,cross-platform,Java,Android,Sockets,Libgdx,Cross Platform,我目前正在使用libgdx。我想通过WebSocket连接到已经运行的Java服务器应用程序。 当我启动桌面应用程序时,everythins工作正常,但android应用程序无法连接 我收到以下LogCat输出: 03-13 16:05:21.508:E/AndroidRuntime(27405):致命异常:GLThread 2370 03-13 16:05:21.508:E/AndroidRuntime(27405):进程:com.myProject.android,PID:27405 03-
SocketHints hints = new SocketHints();
hints.connectTimeout = CONNECTION_TIMEOUT;
hints.socketTimeout = SOCKET_TIMEOUT;
Socket socket = Gdx.net
.newClientSocket(Protocol.TCP, mIp, mPort, hints);
BufferedReader in = new BufferedReader(new InputStreamReader(
socket.getInputStream()));
new EventProcessor(in).start();
你知道为什么这样不行吗?我已经尝试了kyronet替代方案,并收到了相同的超时
比尔,
弗洛
SocketHints hints = new SocketHints();
hints.connectTimeout = CONNECTION_TIMEOUT;
hints.socketTimeout = SOCKET_TIMEOUT;
Socket socket = Gdx.net
.newClientSocket(Protocol.TCP, mIp, mPort, hints);
BufferedReader in = new BufferedReader(new InputStreamReader(
socket.getInputStream()));
new EventProcessor(in).start();