服务器代码如下:
package Day1;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class Service {
public static void main(String[] args) throws Exception {
int port=8899;
//实例化Socket对象
ServerSocket server=new ServerSocket(port);
System.out.println("服务器启动...");
//监听客户端连接
Socket socket=server.accept();
System.out.println("客户端信息:"+socket);
//读取流操作
BufferedReader br=new BufferedReader(
new InputStreamReader(socket.getInputStream(),"UTF-8"));
//写入流操作
PrintWriter pw=new PrintWriter(
new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(), "UTF-8")));
String str="";
//循环监听客户端发送来的信息
while((str=br.readLine())!=null) {
System.out.println("客户端:"+str);
//服务器端处理
String rtn="服务器处理:"+str;
//处理结果返回客户端
pw.println(rtn);
pw.flush();
}
//关闭连接
br.close();
pw.close();
socket.close();
server.close();
}
}
客户端代码如下:
package Day1;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
public class Client {
public static void main(String[] args) throws Exception, IOException {
String IP="192.168.1.*";
int port=8899;
//建立与服务器的连接
Socket socket=new Socket(IP,port);
//读取流操作
BufferedReader br=new BufferedReader(
new InputStreamReader(socket.getInputStream(), "UTF-8"));
//获取键盘输入内容
BufferedReader brKey=new BufferedReader(new InputStreamReader(System.in,"UTF-8"));
//写入流操作
PrintWriter pw=new PrintWriter(
new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream(), "UTF-8")));
while(true) {
//等待阻塞命令
String send=brKey.readLine();
//键盘输入的结束条件
if(send.equals("END")) {
System.out.println("服务器已停止");
break;
}
//向服务器发送信息
pw.println(send);
pw.flush();
//接收服务器端回复的信息
String strRtn=br.readLine();
System.out.println("服务器端回复的消息:"+strRtn);
}
//关闭连接
br.close();
pw.close();
socket.close();
}
}
实现结果如图: