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

相关推荐
超级小忍11 分钟前
从零开始:JDK 在 Windows、macOS 和 Linux 上的下载、安装与环境变量配置
java·windows·macos
.鸣19 分钟前
Java学习笔记:IDEA简单使用技巧
java·学习
2501_9167665423 分钟前
【IDEA2017】使用设置+创建项目的不同方式
java·intellij-idea
kyle~23 分钟前
C++---多态(一个接口多种实现)
java·开发语言·c++
funfan051726 分钟前
IDEA基础配置优化指南(中英双版)
java·ide·intellij-idea
罗小爬EX27 分钟前
在IDEA中设置新建Java类时自动添加类注释
java·intellij-idea
vvilkim43 分钟前
深入理解 Spring Boot Starter:简化依赖管理与自动配置的利器
java·前端·spring boot
废喵喵呜43 分钟前
达梦数据库-实时主备集群部署详解(附图文)手工搭建一主一备数据守护集群DW
网络·数据库·tcp/ip
柯南二号1 小时前
【Java后端】【可直接落地的 Redis 分布式锁实现】
java·redis·分布式
1点东西1 小时前
新来的同事问我当进程/机器突然停止时,finally 到底会不会执行?
java·后端·程序员