本来是打算验证java socket是不是单线程操作,也就是一次只能处理一个请求,处理完之后才能继续处理下一个请求。但是在其中又发现了许多问题,在编程的时候需要十分注意,今天就拿出来跟大家分享一下。
首先先建立一个服务端代码,运行时也要先启动此程序。
packagecom.test.some.Socket;import java.io.*;importjava.net.InetAddress;importjava.net.ServerSocket;importjava.net.Socket;importjava.net.UnknownHostException;/*** @Description: socket服务端代码
* @Author: haoqiangwang3
* @CreateDate: 2020/1/9*/
public classMySocketServer1 {//服务器监听端口
private static int port = 8081;public static void main(String[] args) throwsInterruptedException {try{//1.得到一个socket服务端
ServerSocket serverSocket = newServerSocket(port);while (true) {//2.等待socket客户端的请求。accept方法在有连接请求时才会返回
System.out.println("等待客户端请求。。。");
Socket socket=serverSocket.accept();
System.out.println("客户端请求来了。。。");//3.获取socket输入流
InputStream inputStream =socket.getInpu