Tcp实现聊天

java 复制代码
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());
        baos.close();
        socket.close();
    }

}

先启动服务端

java 复制代码
public class TcpClientDemo01 {
    public static void main(String[] args) throws IOException {
        //1.要知道服务器的地址、端口号
        InetAddress serverIP = InetAddress.getByName("127.0.0.1");
        int port = 9999;
        //2.创建一个socket连接
        Socket socket = new Socket(serverIP,port);
        //3.发送消息IO流
        OutputStream os = socket.getOutputStream();

        os.write("你好欢迎学习".getBytes());
        os.close();
        socket.close();
    }

}

再启动客户端

客户端

1.连接服务器Socket

2.发送消息

服务端

1.建立服务的端口ServerSocket

2.等待用户的连接accept

3.接收用户的消息

相关推荐
忡黑梨14 小时前
eNSP_路由策略
运维·服务器·网络·华为·智能路由器·负载均衡
千寻girling14 小时前
滑动窗口刷了快一个月(26天)了 , 还没有刷完. | 含(操作系统学什么的Java 后端)
java·开发语言·javascript·c++·人工智能·后端·python
小手cool14 小时前
Java字符串按空行分割,包括末尾的空行
java
_F_y14 小时前
仿RabbitMQ实现消息队列-服务端核心模块实现(2)
网络·rabbitmq
Hello_Embed15 小时前
【无标题】
网络·笔记·网络协议·tcp/ip·嵌入式
呱牛do it15 小时前
企业级门户网站设计与实现:基于SpringBoot + Vue3的全栈解决方案(Day 9)
java
鸡蛋灌Bean15 小时前
mybatis分页深入了解
java·数据库·mybatis
路溪非溪15 小时前
详解下DNS协议
网络·网络协议·tcp/ip·智能路由器
CHANG_THE_WORLD15 小时前
<Fluent Python > 2. 第二章:序列的数组
网络·windows·python
byoass15 小时前
企业云盘API集成指南:如何与CI/CD流水线打通
网络·安全·ci/cd·云计算