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.接收用户的消息

相关推荐
黎雁·泠崖4 分钟前
Java 时间类(中):JDK8 全新时间 API 详细教程
java·开发语言
时艰.7 分钟前
电商项目支付宝支付实战
java·服务器·网络
运维管理13 分钟前
H3C交换机Hybrid端口配置与VLAN理解-学习
运维·网络·学习
Coder_Boy_23 分钟前
Java高级_资深_架构岗 核心知识点——高并发模块(底层+实践+最佳实践)
java·开发语言·人工智能·spring boot·分布式·微服务·架构
yy.y--32 分钟前
Java线程实现浏览器实时时钟
java·linux·开发语言·前端·python
笨蛋不要掉眼泪35 分钟前
Sentinel 流控规则详解:三种模式与三种效果实战指南
java·jvm·数据库·后端·sentinel
echoVic35 分钟前
给 Agent Skill 装上「黑匣子」:STOP 可观测性协议设计与实现
java·javascript
阿乐艾官1 小时前
【K8s思维导图及单节点容器启动流程】
java·容器·kubernetes
再难也得平1 小时前
[LeetCode刷题]1.两数之和(java题解)
java·算法·leetcode
yaoxin5211231 小时前
327. Java Stream API - 实现 joining() 收集器:从简单到进阶
java·开发语言