TCP

TCP

客户端

  1. 连接服务器Socket

  2. 发送消息

package com.shushu.net;

import java.io.IOException;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;

//客户端
public class TcpClientDemo01 {
   public static void main(String[] args) {
       Socket socket = null;
       OutputStream os = null;
       try {
           //1.要知道服务器的地址,端口号
           InetAddress serverIP = InetAddress.getByName("127.0.0.1");
           int port = 9999;
           //2.创建一个socket连接
           socket = new Socket(serverIP, port);
           //3.发送消息IO流
           os = socket.getOutputStream();
           os.write("狂神说java".getBytes());
      } catch (UnknownHostException e) {
           e.printStackTrace();
      } catch (IOException e) {
           e.printStackTrace();
      }finally {
           if (os!=null){
               try {
                   os.close();
              } catch (IOException e) {
                   e.printStackTrace();
              }
          }
           if (socket!=null){
               try {
                   socket.close();
              } catch (IOException e) {
                   e.printStackTrace();
              }
          }
      }

  }
}

 

服务器

  1. 建立服务的端口,ServerSocket

  2. 等待用户的连接 accept

  3. 接受用户的消息

    package com.shushu.net;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class TcpServerDemo01 {
   public static void main(String[] args) throws IOException {
       //1.我们有一个地址
       ServerSocket serverSocket = new ServerSocket(9999);
       //2.等待客户端连接过来
       Socket socket = serverSocket.accept();
       //3.读取客服端信息
       InputStream is = socket.getInputStream();

       //管道流
       ByteArrayOutputStream baos = new ByteArrayOutputStream();
       byte[] buffer = new byte[1024];
       int len;
       while ((len=is.read(buffer))!=-1){
           baos.write(buffer,0,len);
      }
       System.out.println(baos.toString());
       if (baos!=null){
           baos.close();
      }
       if (is!=null){
           is.close();
      }
       if (socket!=null){
           socket.close();
      }
       if (serverSocket!=null){
           serverSocket.close();
      }
  }
}

 

posted @ 2021-04-29 17:34  术树  阅读(297)  评论(0编辑  收藏  举报