2013-02-01 33 views
1

這是我從哪裏得到socketIO文件。 https://github.com/Gottox/socket.io-java-client/tree/master/src/io/socket如何使用Socket.IO與服務器要求認證

我在客戶端。 當服務器不需要驗證時,我知道連接工作。

但是,當它需要認證(用戶名和密碼),我得到一個握手錯誤消息。

如何獲得通過驗證?它可能是一個服務器端錯誤?如果認證被添加,事情的服務器端會改變嗎?

這是引發錯誤的函數...我沒有寫它。 這一行是引起問題的一行:InputStream stream = connection.getInputStream(); 它說,它的原因是:java.io.FileNotFoundException:網址:80/socket.io/1/

private void handshake() { 
    URL url; 
    String response; 
    URLConnection connection; 
    try { 
     setState(STATE_HANDSHAKE); 
     url = new URL(IOConnection.this.url.toString() + SOCKET_IO_1); 
     connection = url.openConnection(); 
     if (connection instanceof HttpsURLConnection) { 
      ((HttpsURLConnection) connection) 
        .setSSLSocketFactory(sslContext.getSocketFactory()); 
     } 
     connection.setConnectTimeout(connectTimeout); 
     connection.setReadTimeout(connectTimeout); 

     /* Setting the request headers */ 
     for (Entry<Object, Object> entry : headers.entrySet()) { 
      connection.setRequestProperty((String) entry.getKey(), 
        (String) entry.getValue()); 
     } 

     InputStream stream = connection.getInputStream(); 
     Scanner in = new Scanner(stream); 
     response = in.nextLine(); 
     String[] data = response.split(":"); 
     sessionId = data[0]; 
     heartbeatTimeout = Long.parseLong(data[1]) * 1000; 
     closingTimeout = Long.parseLong(data[2]) * 1000; 
     protocols = Arrays.asList(data[3].split(",")); 
    } catch (Exception e) { 
     error(new SocketIOException("Error while handshaking", e)); 
    } 
} 
+0

下一次請添加更多標籤 – TN888

+0

對不起,會做。我不知道那些標籤存在... –

+0

我們通過消除問題來解決問題。我們不再做socket.io認證.... –

回答