java写一个简易聊天程序

服务器端

复制代码
package com.cs;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;

@SuppressWarnings("all")
public class TCPServer {
    private static int port = 6077; //服务器端口

    public static void main(String[] args) throws IOException {
        ServerSocket server = new ServerSocket(port);
        Socket socket = server.accept();
        InputStream is = socket.getInputStream();
        OutputStream os = socket.getOutputStream();
        Scanner sc = new Scanner(System.in);
        String msg = "";
        do {
            byte[] bytes = new byte[1024];
            int len = is.read(bytes);
            System.out.println("客户端:" + new String(bytes, 0, len));
            System.out.println("服务器端:");
            msg = sc.next();
            os.write(msg.getBytes());
        } while ((msg.equals("退出")) != true);
        socket.close();
        server.close();

    }
}
复制代码

 

客户端

复制代码
package com.mvc.chat;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.util.Scanner;

/**
 * 简易聊天小程序
 *
 * @author liuwenlong
 * @create 2021-04-17 10:25:39
 */
@SuppressWarnings("all")
public class TcpClient {
    private static String host = "这里写服务器的IP";//连接的服务器IP地址
    private static int port = 6077; //服务器端口

    public static void main(String[] args) throws IOException {
        Socket socket = new Socket(host, port); //创建Socket
        OutputStream os = socket.getOutputStream();
        InputStream is = socket.getInputStream();
        Scanner sc = new Scanner(System.in);
        String msg = "";
        do {
            System.out.println("客户端:");
            msg = sc.next(); //输入
            os.write(msg.getBytes());//写入到服务器
            byte[] bytes = new byte[1024];
            int len = is.read(bytes);
            System.out.println("服务器端:" + new String(bytes, 0, len));
        } while ((msg.equals("退出")) != true);
        socket.close();
    }
}
复制代码

 

 

posted @   勤快的懒羊羊  阅读(504)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示