核心步骤如下:
step1:服务器端指定一个端口号来建立socket连接
ServerSocket serverSocket=new ServerSocket(9999);
step2:(服务器端)一直监听这个端口有没有socket连接过来
Socket socket=serverSocket.accept();
step3:客户端新建一个socket,传入服务端的地址和端口号,连接上服务端的端口
Socket clientSocket=new Socket(serverIp,port);
step4;客户端发送消息,服务器端接收消息
step5:服务器端关闭流和socket
step6:客户端关闭流和socket
step7:先运行服务器端程序,再运行客户端程序
服务器端代码:
- public class TcpServer
- {
- public static void main(String[] args) throws IOException
- {
- //1:服务端指定一个端口号来创建socket
- ServerSocket serverSocket=new ServerSocket(9999);
-
- //2.等待客户端连接过来(一直在监听),这个socket和客户端建立连接的socket是同一个socket
- Socket socket=serverSocket.accept();
-
-
- //6.读取客户端的消息
- InputStream inputStream=socket.getInputStream();
-
- ByteArrayOutputStream pipe=new ByteArrayOutputStream();
- byte[] buffer=new byte[1024];
-
- int len;
-
- while((len=inputStream.read(buffer))!=-1)
- {
- pipe.write(buffer,0,len);
- }
- System.out.println(pipe.toString());
-
- //7.关闭io流
- pipe.close();
- inputStream.close();
-
- //8.关闭socket
- socket.close();
- serverSocket.close();
-
- }
- }
客户端代码:
- public class TcpClient
- {
- public static void main(String[] args) throws IOException
- {
- //3.拿到服务器的地址
- InetAddress serverIp=InetAddress.getByName("127.0.0.1");
-
- //4.拿到服务器的端口号
- int port=9999;
-
- //5.创建1个socket连接(传入ip和端口)
- Socket clientSocket=new Socket(serverIp,port);
-
- //6.用io流发送消息
- OutputStream outputStream= clientSocket.getOutputStream();
- outputStream.write("你好,欧阳水鸣".getBytes());
-
-
- //9.关闭流和socket
- outputStream.close();
- clientSocket.close();
-
- }
- }