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

相关推荐
曹天骄1 小时前
100个用户的聊天系统:轮询 vs WebSocket 综合对比
网络·websocket·网络协议
简单.is.good1 小时前
【计算机网络】IP地址
网络·tcp/ip·计算机网络
Nelson_hehe1 小时前
Java基础第四章、面向对象
java·语法基础·面向对象程序设计
Thomas_YXQ1 小时前
Unity3D Lua集成技术指南
java·开发语言·驱动开发·junit·全文检索·lua·unity3d
ShiinaMashirol2 小时前
代码随想录打卡|Day27(合并区间、单调递增的数字、监控二叉树)
java·算法
东阳马生架构4 小时前
Nacos简介—3.Nacos的配置简介
java
北极的企鹅884 小时前
XML内容解析成实体类
xml·java·开发语言
oioihoii4 小时前
C++23 中 static_assert 和 if constexpr 的窄化布尔转换
java·jvm·c++23
桃花岛主704 小时前
STUN协议 与 TURN协议
网络·网络协议
聂 可 以4 小时前
调整IntelliJ IDEA当前文件所在目录(包路径)的显示位置
java·ide·intellij-idea