【发布时间】:2016-12-11 14:55:48
【问题描述】:
我正在尝试在 java 中的客户端和服务器之间建立连接,但是当我运行服务器时,它给出了“连接被拒绝:连接”我不知道该怎么做,而且我对 java 网络真的很陌生你能帮我么?这是我的服务器代码:
class reserver {
static int serverPort = 6667;
static int serverPort1 = 6668;
static String Message,input;
String ip = "127.0.0.1";
public reserver(){
try{
InetAddress ipAddress = InetAddress.getByName(ip);
Socket socket = new Socket(ipAddress,serverPort);
OutputStream sout = socket.getOutputStream();
InputStream sin = socket.getInputStream();
DataOutputStream out = new DataOutputStream(sout);
out.writeUTF(input);
out.flush();
}catch(IOException e){
System.out.print(e.getMessage());
}
}
public static void main(String [] args){
new reserver();
try{
ServerSocket ss = new ServerSocket(serverPort1);
int i = 0;
while(true){
i++;
Socket socket = ss.accept();
OutputStream sout = socket.getOutputStream();
InputStream sin = socket.getInputStream();
DataInputStream in = new DataInputStream(sin);
DataOutputStream out = new DataOutputStream(sout);
input = in.readUTF();
System.out.println("Message [" + i + "]" +input);
}
}catch(IOException e){
System.out.print(e.getMessage());
}
}
}
这是我的客户代码:
class reclient {
String ip = "127.0.0.1";
static int serverPort = 6667;
static int serverPort1 = 6668;
static String Message,input;
public reclient(){
try{
Scanner s = new Scanner(System.in);
System.out.print("Enter Text: ");
input = s.nextLine();
InetAddress ipAddress = InetAddress.getByName(ip);
Socket socket = new Socket(ipAddress,serverPort);
OutputStream sout = socket.getOutputStream();
InputStream sin = socket.getInputStream();
DataInputStream in = new DataInputStream(sin);
DataOutputStream out = new DataOutputStream(sout);
out.writeUTF(input);
out.flush();
}catch(IOException e){
System.out.print(e.getMessage());
}
}
public static void main(String [] args){
new reclient();
try{
ServerSocket ss = new ServerSocket(serverPort1);
int i = 0;
while(true){
i++;
Socket socket = ss.accept();
OutputStream sout = socket.getOutputStream();
InputStream sin = socket.getInputStream();
DataInputStream in = new DataInputStream(sin);
DataOutputStream out = new DataOutputStream(sout);
input = in.readUTF();
System.out.println("Message [" + i + "]" +input);
}
}catch(IOException e){
System.out.print(e.getMessage());
}
}
}
【问题讨论】:
-
无法理解为什么客户端和服务器都使用 2 个套接字连接。
-
另外请发布完整的堆栈跟踪,以便我们查看问题所在。
标签: java networking