-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);
}
}
程序编译和有服务器上没有问题,但运行的客户端总是给连接拒绝或连接超时异常。 我试过不同的端口名称,也没有防火墙问题。 请建议我该怎么做....
您的代码主要适用于我,我的意思是有一个问题,客户端不写一个换行字符,但它连接,它不超时。 – Magnus