2017-06-02 11 views
-1

Ich versuche, ein grundlegendes Netzwerkprogramm über Sockets Server zu tun:Java Networking „Connection Refused: Verbinden“

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"); 
}} 

Kunde

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); 
    } 
} 

Das Programm kompiliert und es gibt Kein Problem auf dem Server, aber der laufende Client gibt immer die Ausnahme "Verbindung abgelehnt" oder "Ausnahme wegen Verbindung abgebrochen". Ich habe verschiedene Portnamen ausprobiert und es gibt auch kein Firewall-Problem. Bitte schlagen Sie mir vor, was zu tun ist.

+3

Ihr Code funktioniert meistens für mich, ich meine, es gibt ein Problem, bei dem der Client kein Zeilenumbruchzeichen schreibt, aber es verbindet, es gibt keine Zeitüberschreitung. – Magnus

Antwort

Verwandte Themen