废话不多说,直接贴出代码,不好的地方望指正
客户端代码:
public class TestClient {
public static void main(String[] args) {
//调用函数
socketClient();
}
public static void socketClient(){
Socket socket = null;
try {
//创建一个Socket对象
socket = new Socket("192.168.1.100", 8888);
System.out.println("客户端初始化....");
//创建一个BufferReader用来存储从键盘上读取的字符
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
//创建输出流
BufferedWriter bufout = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
//创建输入流
BufferedReader bufln = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String line = null;
while((line = buf.readLine())!=null){
//将数据输出到服务端
bufout.write(line);
bufout.newLine();
bufout.flush();
//获取服务端返回的
String msg = bufln.readLine();
if(msg !=null)
System.out.println("服务端返回的消息:" + msg);
}
socket.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
服务端代码:
public class TestServer {
public static void main(String[] args) {
//调用函数
socketServer();
}
public static void socketServer(){
try {
//创建服务端并指定在8888端口上监听
ServerSocket serverSocket = new ServerSocket(8888);
System.out.println("服务端初始化...");
//等待客户端的接入
Socket socket = serverSocket.accept();
System.out.println("有一个客户端接入了"+socket.hashCode());
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
//创建输入流
BufferedReader bufln = new BufferedReader(new InputStreamReader(socket.getInputStream()));
//创建输出流
BufferedWriter bufout = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
String line = null;
while((line = bufln.readLine()) !=null){
System.out.println("客户端发送来的消息:"+line);
String reClient = null;
if((reClient = buf.readLine()) !=null){
bufout.write(reClient);
bufout.newLine();
bufout.flush();
}
}
socket.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}