Java Socket 基于UDP协议的多线程连接

本文介绍如何使用Java Socket实现基于UDP协议的多线程连接。通过四个主要部分——ClientBean、UDPClient、ServerBean和UDPServer的源码分析,详细阐述了如何建立和管理多线程UDP通信。案例适用于开发多人在线聊天等应用场景。
摘要由CSDN通过智能技术生成

上一篇: Java Socket 多线程简单入门案例

  1. 目录结构
    这里写图片描述

  2. ClientBean.java源码

     package socket.udp;
    import java.io.IOException;
    import java.net.DatagramPacket;
    import java.net.DatagramSocket;
    import java.net.InetAddress;
    import java.net.SocketException;
    import java.net.UnknownHostException;
    
    /**
     * 如果我们把客户端的所有代码都写在一个文件中,那么代码的功能很有可能都聚集在一个方法力,代码的可维护性将会变得很差。 <BR/>
     * 所以我们专门设计了ClientBean类,在其中封装了客户端通讯的一些功能方法,在此基础上,通过UDPClient.java文件,实现UDP客户端的功能。
     */
    public class ClientBean {
    
    // 描述UDP通讯的DatagramSocket对象
    private DatagramSocket datagramSocket;
    
    // 用来封装通讯字符串
    private byte buffer[];
    
    // 客户端的端口号
    private int clientport;
    
    // 服务器端的端口号
    private int serverport;
    
    // 通讯内容
    private String content;
    
    // 描述通讯地址
    private InetAddress inetAddress;
    
    // 构造函数,给各变量赋初始值
    public ClientBean() throws SocketException, UnknownHostException {
        buffer = new byte[1024];
    
        // 设置客户端和服务器端的端口号
        clientport = 9995;
        serverport = 9996;
    
        content = "";
        // 根据客户端的端口号初始化DatagramSocket对象。
        datagramSocket = new DatagramSocket(clientport);
        inetAddress = InetAddress.getByName("localhost");
    }
    
    /**
     * 向服务器端发送消息的方法
     * 
     * @throws IOException
     */
    public void sendToServer() throws IOException {
        buffer = content.getBytes();
    
        // 根据String类型的表示通讯信息的content变量,初始化UDP数据报文,即datagramPacket对象
        Da
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值