2014-11-05 72 views
0

嘗試通過TCP連接到使用java套接字的服務器,連接被拒絕。我應該發送一個密鑰進行身份驗證。代碼:Socket連接上的初始消息

Socket clientSocket = new Socket(); 
    clientSocket.connect(new InetSocketAddress("server.address.whatever", 123456)); 

    System.out.println("Connected"); 

    DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream()); 
    BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); 
    String key = "key"; 
    outToServer.writeBytes(key + "\r\n"); 
    String response = inFromServer.readLine(); 
    System.out.println("FROM SERVER: " + response); 
    clientSocket.close(); 

它從未它對它試圖打印出「連接」的地步,它拋出

java.net.ConnectException: Connection refused

所以我從來沒有發送鍵。我在這裏錯過了什麼?如何在連接期間發送初始消息?我甚至應該這樣做?

回答

0

這聽起來好像沒有服務器進程在該套接字上偵聽。檢查你是否可以使用像nmap這樣的工具(或者只是telnet)連接。

+0

嘗試在我的android手機上使用TCP客戶端應用程序,短暫的時候它說連接後,「recvfrom失敗:ECONNRESET(連接重置由對等)」,在telnet:連接被拒絕 – test 2014-11-05 09:47:01

+0

Telnet「連接被拒絕」意味着它可以甚至不建立初始連接 - 要麼是因爲防火牆阻止了它,要麼是因爲沒有人在該地址收聽。 – BarrySW19 2014-11-05 09:54:49

+0

謝謝,問題出在服務器上。另一面固定它,它現在的作品:) – test 2014-11-05 11:58:57