服務器
public class Server{
private ServerSocket serverSocket;
private Socket socket;
private BufferedReader in;
private PrintWriter out;
public Server() {
try {
// 定義連接端口
serverSocket = new ServerSocket(10000);
while(true) {
// 等待客戶端連接
socket = serverSocket.accept();
// 獲取本機地址
String RemoteIP = socket.getInetAddress().getHostAddress();
// 獲取本機端口號
String RemotePort = ":" + socket.getLocalPort();
System.out.println("服務器:有一個用戶進來了! IP 地址爲:" + RemoteIP + RemotePort);
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
// 獲取用戶輸入的內容
String line = in.readLine();
System.out.println("用戶:" + line);
out = new PrintWriter(socket.getOutputStream(),true);
out.println("服務器:已經收到消息");
// 關閉資源
out.close();
in.close();
socket.close();
}
}catch(IOException e) {
out.println("wrong");
}
}
public static void main(String[] args) {
new Server();
}
}
客戶端
public class Client{
private Socket socket;
private BufferedReader in;
private PrintWriter out;
public Client() {
try {
System.out.println("嘗試連接 127.0.0.1:10000");
// 設置本機地址和端口號
socket = new Socket("127.0.0.1",10000);
System.out.println("連接成功!");
System.out.print("請輸入你想說的話:");
BufferedReader line = new BufferedReader(new InputStreamReader(System.in));
out = new PrintWriter(socket.getOutputStream(),true);
// 獲取服務器傳過來的消息
out.println(line.readLine());
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
System.out.println(in.readLine());
// 關閉資源
out.close();
in.close();
socket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
out.println("Wrong");
}
}
public static void main(String[] args) {
new Client();
}
}
服務器
客戶端