【发布时间】:2016-11-23 12:53:12
【问题描述】:
我尝试使用 Socket 连接两台机器。
我将客户端代码放在机器 A 中:
import java.io.*;
import java.net.*;
public class MyClient {
public static void main(String[] args) {
try {
Socket s = new Socket("IP ADDRESS",5555);
// Socket s = new Socket("localhost",6669);
DataOutputStream dout = new DataOutputStream(s.getOutputStream());
dout.writeUTF("Hello Server");
dout.flush();
dout.close();
s.close();
} catch(Exception e) {
System.out.println(e);
}
}
}
在机器 B 中运行服务器代码
import java.io.*;
import java.net.*;
public class MyServer {
public static void main(String[] args) {
try {
ServerSocket ss = new ServerSocket(5555);
Socket s = ss.accept(); //establishes connection
DataInputStream dis = new DataInputStream(s.getInputStream());
String str = (String) dis.readUTF();
System.out.println("message= " + str);
ss.close();
} catch(Exception e) {
System.out.println(e);
}
}
}
都在同一网络的机器上
但它没有运行,CMD 中也没有错误。
【问题讨论】:
-
你确定服务器的IP地址正确吗?
-
你确定两台机器在同一个网络吗?
-
你是同一个网络,IP也正确
-
你能更改端口号吗?