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

相关推荐
智能零售小白白2 分钟前
零售多门店库存调拨优化:需求预测与路径规划的技术实现
java·开发语言·零售
前路不黑暗@4 分钟前
Java项目:Java脚手架项目的意义和环境搭建(一)
java·开发语言·spring boot·学习·spring cloud·maven·idea
枷锁—sha11 分钟前
【SRC】前后端分离与API接口渗透
服务器·网络·安全·网络安全·系统安全
Coisinilove12 分钟前
数通第三次培训
网络·windows·数通数据通信
Seven9713 分钟前
LockSupport深度解析:线程阻塞与唤醒的底层实现原理
java
仙俊红14 分钟前
我亲手抓到了自己的账号密码:一次完整的 HTTP 登录抓包实验
网络·网络协议·http
组合缺一15 分钟前
OpenSolon v3.9.3, v3.8.5, v3.7.5, v3.6.8 年货版发布
java·人工智能·分布式·ai·llm·solon·mcp
uesowys26 分钟前
华为OD算法开发指导-二级索引-Read and Write Path Different Version
java·算法·华为od
小比特_蓝光31 分钟前
STL小知识点——C++
java·开发语言·c++·python
xq952733 分钟前
leetcode 算法之合并两个有序数组
java