首先是客户端代码
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();
}
}
}