server.java
<span style="font-size:18px;">package com.socket;
import java.io.*;
import java.net.*;
public class server {
public static void main(String[] args) {
BufferedReader br=null;
PrintWriter pw=null;
try {
ServerSocket server=new ServerSocket(8888);
Socket socket=server.accept();
//获取输入流
br=new BufferedReader(new InputStreamReader(socket.getInputStream()));
//获取输出流
pw=new PrintWriter(socket.getOutputStream());
String s=null;//获取接收的数据
while((s=br.readLine())!=null){//循环读取客户端的信息
System.out.println("我是服务器,客户端说:"+s);
}
socket.shutdownInput();//关闭输入流
pw.print("欢迎您"); //发送相同的数据给客户端
pw.flush();
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
br.close();
pw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
</span>
client.java
<span style="font-size:18px;">package com.socket;
import java.io.*;
import java.net.*;
public class client {
public static void main(String[] args) {
BufferedReader br=null;
PrintWriter pw=null;
try {
Socket socket=new Socket("localhost",8888);
//获取输入流
br=new BufferedReader(new InputStreamReader(socket.getInputStream()));
//获取输出流
pw=new PrintWriter(socket.getOutputStream());
pw.print("hello, from client"); //向服务器发送数据
pw.flush();
socket.shutdownOutput();//关闭输出流
String s=null;//获取接收的数据
while((s=br.readLine())!=null){
System.out.println("我是客户端,服务器说:"+s);
}
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
br.close();
pw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
</span>