完成功能: (1)服务器先运行起来; (2)客户端连接服务器,从键盘输入数据,然后发送到服务器; (3)服务器回应所收到的信息。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.Socket;
public class Main {
public static void main(String[] args) throws IOException{
Socket socket = new Socket(InetAddress.getLocalHost(),1000);
System.out.println("socket 信息:" + socket);
// 得到网络输入输出流
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream());
BufferedReader localIn = new BufferedReader(new InputStreamReader(System.in));
// 从键盘输入数据,以 exit 字符串为结束,输入完毕后传到服务器端
String strtmp = null;
while(!("exit").equals(strtmp = localIn.readLine())){
out.println(strtmp);
}
out.println("exit");
out.flush(); // 刷新不能缺少,缓冲区数据强制输出
// 得到服务器端传来的信息
while((strtmp = in.readLine())!= null){
System.out.println(strtmp);
}
//关闭输入输出流
in.close();
out.close();
localIn.close();
socket.close();
}
}
老师给的结果: