【发布时间】:2022-01-14 12:08:45
【问题描述】:
我有一个问题,当我在同一台 PC 上创建 2 个文件(Client.java 和 Server.java)时,它可以工作。但是当我将 Client.java 文件发送到另一台 PC 时,它不起作用。我也关闭了防火墙,但它仍然不起作用。
类 Sever.java:
import java.io.*;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) throws IOException {
try {
System.out.println("loading..");
ServerSocket serverSocket = new ServerSocket(6667);
Socket socket = serverSocket.accept();
DataInputStream dataInputStream = new DataInputStream(socket.getInputStream());
String str = dataInputStream.readUTF();
System.out.println(str);
dataInputStream.close();
socket.close();
System.out.println("end");
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
类Client.java:
import java.io.*;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
public class Client {
public static void main(String[] args) {
try {
System.out.println("client connecting...");
byte[] addr = {(byte) 192, (byte) 168, (byte) 9, (byte) 9};
InetAddress inetAddress = InetAddress.getByAddress("lvh", addr);
Socket socket = new Socket(inetAddress, 6667);
//socket.setSoTimeout(999999999);
System.out.println(socket.isConnected());
DataOutputStream dataOutputStream = new DataOutputStream(socket.getOutputStream());
dataOutputStream.writeUTF("hello");
dataOutputStream.flush();
dataOutputStream.close();
socket.close();
System.out.println("end");
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
我将类 Client.java 发送到其他 PC 并收到错误“连接超时”,如下图 (T_T): enter image description here
我不知道如何解决 :((请帮忙!!!
【问题讨论】:
标签: java sockets server connection client