JAVA网络编程模拟多人聊天(多线程实现)

本文通过JAVA编程,实现了一个基于8080端口的多人聊天服务器,服务器端利用ServerSocket监听客户端连接,并将Socket保存到Vector中。每个连接的客户端分别开启发送和接收消息的线程,实现双向通信功能。
摘要由CSDN通过智能技术生成

一.要求
要求:

  • 使用ServerSocket启动8080端口,监听客户端连接
  • 将与客户端连接的Socket保存在Vector中
  • 开启一个接收该客户端消息的线程
  • 客户端开启发送消息和接收消息线程
    二.代码实现
    1.服务器端代码
package problem03;

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Vector;

/**
 * 要求:
 *      使用ServerSocket启动8080端口,监听客户端连接
 *      将与客户端连接的Socket保存在Vector中
 *      开启一个接收该客户端消息的线程
 */
public class Server implements Runnable{
    ServerSocket ss = null;
    int port = 8080;
    static Vector<Socket> v = new Vector<>();  //存储Socket信息

    public  Server(int port) {  //带参构造,指定ServerSocket绑定端口号
        this.port = port;
    }

    @Override
    public void run() {
        try{
            ss = new ServerSocket(port);   //绑定端口号

            while (true){
                Socket cs = ss.accept();  //开启监听
                v.add(cs);   //将当前Socket信息存储到集合
                new Rec_Sen_Threa
  • 10
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值