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

相关推荐
诺NA亚1 分钟前
ElasticSearch+RAG初使用
java
hz567892 分钟前
数据本地化音视频系统设计:数据存储、传输路径与访问权限管理
网络·安全·音视频·实时音视频·信息与通信
SamDeepThinking4 分钟前
synchronized 和 lock 有什么区别?
java·后端·面试
m0_5873830010 分钟前
无人自助拼豆系统的全栈开发方案
java·后端·struts·小程序·架构
笨手笨脚の20 分钟前
从一行 ip route 到容器跨主机通信
网络·网络协议·tcp/ip
临期冰淇淋22 分钟前
MTK平台 安卓16 GMS报错修改
android·java·前端
mmsx23 分钟前
Android 模块化三件套:轻量组件化、宿主插件双形态、AIDL 隔离
android·网络·组件化·aidl
人道领域23 分钟前
【面试八股速通篇01】锁与并发工具
java·开发语言·面试·c#
Wang's Blog24 分钟前
Java 项目实战: 交友项目 - Dubbo 入门案例全流程复盘
java·dubbo·交友
czt_java27 分钟前
网络基础入门:IPv4、IPv6、私网公网、MAC、以太网帧与 DNS 学习笔记
网络·学习·macos