android socket programming에서 node.js에 연결하는 동안 오류가 발생했습니다. 나는 또 다시 발생하는 서버 만 아웃 시간에 연결하는 socket.io를 사용하고, 어떤 도움을Error java.net.SocketTimeoutException
코드
SocketIO socket = new SocketIO("http://10.10.10.125:1337"); \t \t
\t socket.connect
\t \t \t (
\t \t \t \t \t new IOCallback(){
\t \t \t \t \t \t @Override
\t \t \t \t \t \t public void onError(SocketIOException socketIOException) {
\t \t \t \t \t \t \t System.out.println("an Error occured");
\t \t \t \t \t \t \t socketIOException.printStackTrace();
\t \t \t \t \t \t }
\t \t \t \t \t \t @Override
\t \t \t \t \t \t public void onDisconnect() {
\t \t \t \t \t \t \t System.out.println("Connection terminated.");
\t \t \t \t \t \t }
\t \t \t \t \t \t @Override
\t \t \t \t \t \t public void onConnect() {
\t \t \t \t \t \t \t System.out.println("Connection established");
\t \t \t \t \t \t \t //socket.send("Hello Server!");
\t \t \t \t \t \t \t //System.out.println("send msg to server");
\t \t \t \t \t \t }
\t \t \t \t \t \t @Override
\t \t \t \t \t \t public void onMessage(String arg0,
\t \t \t \t \t \t \t \t IOAcknowledge arg1) {
\t \t \t \t \t \t \t // TODO Auto-generated method stub
\t \t \t \t \t \t \t System.out.println("Server said: " + arg0);
\t \t \t \t \t \t }
\t \t \t \t \t \t @Override
\t \t \t \t \t \t public void onMessage(JSONObject arg0,
\t \t \t \t \t \t \t \t IOAcknowledge arg1) {
\t \t \t \t \t \t \t // TODO Auto-generated method stub
\t \t \t \t \t \t \t try {
\t \t \t \t \t \t \t \t System.out.println("Server said:" + arg0.toString(2));
\t \t \t \t \t \t \t } catch (JSONException e) {
\t \t \t \t \t \t \t \t e.printStackTrace();
\t \t \t \t \t \t \t }
\t \t \t \t \t \t }
\t \t \t \t \t \t @Override
\t \t \t \t \t \t public void on(String arg0, IOAcknowledge arg1,
\t \t \t \t \t \t \t \t Object... arg2) {
\t \t \t \t \t \t \t // TODO Auto-generated method stub
\t \t \t \t \t \t \t System.out.println("on....");
\t \t \t \t \t \t } \t
\t \t \t \t \t }
\t \t \t \t \t);
\t \t
\t \t } catch (MalformedURLException e1) {
\t \t \t e1.printStackTrace();
\t \t }
오류
12-04 16:30:30.510: W/System.err(8986): io.socket.SocketIOException: Error while handshaking
12-04 16:30:30.510: W/System.err(8986): \t at io.socket.IOConnection.handshake(IOConnection.java:322)
12-04 16:30:30.510: W/System.err(8986): \t at io.socket.IOConnection.access$600(IOConnection.java:39)
12-04 16:30:30.510: W/System.err(8986): \t at io.socket.IOConnection$ConnectThread.run(IOConnection.java:199)
12-04 16:30:30.510: W/System.err(8986): Caused by: java.net.SocketTimeoutException
12-04 16:30:30.510: W/System.err(8986): \t at java.net.PlainSocketImpl.read(PlainSocketImpl.java:491)
12-04 16:30:30.510: W/System.err(8986): \t at java.net.PlainSocketImpl.access$000(PlainSocketImpl.java:46)
12-04 16:30:30.510: W/System.err(8986): \t at java.net.PlainSocketImpl$PlainSocketInputStream.read(PlainSocketImpl.java:240)
12-04 16:30:30.510: W/System.err(8986): \t at java.io.InputStream.read(InputStream.java:163)
12-04 16:30:30.510: W/System.err(8986): \t at java.io.BufferedInputStream.fillbuf(BufferedInputStream.java:142)
12-04 16:30:30.510: W/System.err(8986): \t at java.io.BufferedInputStream.read(BufferedInputStream.java:227)
12-04 16:30:30.510: W/System.err(8986): \t at libcore.io.Streams.readAsciiLine(Streams.java:201)
12-04 16:30:30.510: W/System.err(8986): \t at libcore.net.http.HttpEngine.readResponseHeaders(HttpEngine.java:544)
12-04 16:30:30.510: W/System.err(8986): \t at libcore.net.http.HttpEngine.readResponse(HttpEngine.java:784)
12-04 16:30:30.510: W/System.err(8986): \t at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:274)
12-04 16:30:30.510: W/System.err(8986): \t at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:168)
12-04 16:30:30.510: W/System.err(8986): \t at io.socket.IOConnection.handshake(IOConnection.java:313)
12-04 16:30:30.510: W/System.err(8986): \t ... 2 more
어떻게 소켓을 정의합니까? 그 부분에 대한 코드를 게시하십시오. –
@MohammadRahchamani 지금 업데이트 된 코드를 확인하십시오 ... –
서버의 socket.io 버전은 무엇이며 어떤 라이브러리를 Android 클라이언트에 사용하고 있습니까? –