2017-06-02 72 views
-1

我試圖使用套接字 做一個基本的組網方案服務器:Java的網絡「連接被拒絕:連接」

import java.io.*; 
import java.net.*; 
class Socketserver{ 
    public static void main(String[]z)throws IOException{ 
     System.out.println("Server is started"); 
     ServerSocket ss=new ServerSocket(9999); 
     System.out.println("Waiting for client request"); 
     Socket s=ss.accept(); 
     System.out.println("client connected"); 
     InputStreamReader a=new InputStreamReader(s.getInputStream()); 
     BufferedReader b=new BufferedReader(a); 
     String str=b.readLine(); 
     System.out.println("Client data"+str); 
     String nickname=str.substring(0,3); 
     OutputStreamWriter os=new OutputStreamWriter(s.getOutputStream()); 
     PrintWriter out=new PrintWriter(os); 
     out.write(str); 
     os.flush(); 
     System.out.println("data sent from server to client"); 
}} 

客戶

import java.io.*; 
import java.net.*; 
class Socketclient{ 
    public static void main(String[]z)throws IOException{ 
     String ip="localhost";// for same machine 
     int port=9999; 
     Socket s=new Socket(ip,port); 
     String str="Rujhaan"; 
     OutputStreamWriter os=new OutputStreamWriter(s.getOutputStream()); 
     PrintWriter out=new PrintWriter(os); 
     out.write(str); 
     os.flush(); 
     InputStreamReader a=new InputStreamReader(s.getInputStream()); 
     BufferedReader b=new BufferedReader(a); 
     String nickname=b.readLine(); 
     System.out.println("data from server"+nickname); 
    } 
} 

程序編譯和有服務器上沒有問題,但運行的客戶端總是給連接拒絕或連接超時異常。 我試過不同的端口名稱,也沒有防火牆問題。 請建議我該怎麼做....

+3

您的代碼主要適用於我,我的意思是有一個問題,客戶端不寫一個換行字符,但它連接,它不超時。 – Magnus

回答

相關問題