package com.test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
/**
* 這是一個客戶端 可以連接服務端
*
* @author Eiffel
*
*/
public class MyClient1 {
public static void main(String args[]) {
new MyClient1();
}
// 構造方法
public MyClient1() {
try {
// Socket()就是去連接某個服務器端
// 127.0.0.1表示服務器的ip 9999表示端口
Socket s = new Socket("127.0.0.1", 9999);
// 如果s連接成功,就可以發送數據給服務器
// 通過pw,向s寫數據,true表示及時刷新
PrintWriter pw = new PrintWriter(s.getOutputStream(), true);
pw.println("你好嗎,我是客戶端");
// 讀取s中傳遞的數據
BufferedReader br = new BufferedReader(new InputStreamReader(
s.getInputStream()));
String response = br.readLine();
System.out.println("客戶端接收到:" + response);
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
服務器
package com.test1;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
/**
* 這是一個服務器端程序,讓它在9999端口監聽 可以接收從客戶端發來的信息
*
* @author Eiffel
*
*/
public class MyServer1 {
public static void main(String args[]) {
// 啓動監聽
new MyServer1();
}
// 構造方法
public MyServer1() {
try {
// 首先讓服務器處於監聽狀態
// 在9999號端口監聽
ServerSocket ss = new ServerSocket(9999);
System.out.println("正在監聽9999端口....");
// 等待某個客戶端來連接,該函數會返回一個Socket連接
// 會一直監聽,(阻塞態),一直等待到
Socket s = ss.accept();
// 讀取s中傳遞的數據
BufferedReader br = new BufferedReader(new InputStreamReader(
s.getInputStream()));
String info = br.readLine();
System.out.println("服務器接收到的:" + info);
// 通過pw,向s寫數據,true表示及時刷新
PrintWriter pw = new PrintWriter(s.getOutputStream(), true);
pw.println("我是服務器,你好");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}