为了账号安全,请及时绑定邮箱和手机立即绑定

UDP多线程服务器代码,仿TCP多线程代码编写

标签:
Java
package com.imooc;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

public class UDPServerThread implements Runnable {

    DatagramSocket socket = null;
    byte[] data = null;
    DatagramPacket packet = null;

    public static void main(String[] args) throws IOException {
        UDPServerThread serverThread = null;
        Thread thread = null;
        int count = 0;
        DatagramSocket socket = new DatagramSocket(8800);
        byte[] data = null;
        DatagramPacket packet = null;
        while (true) {
            data = new byte[1024];
            packet = new DatagramPacket(data, data.length);
            socket.receive(packet);
            serverThread = new UDPServerThread(socket, data, packet);
            thread = new Thread(serverThread);
            thread.start();
            System.out.println("客户端数量为" + (++count));

        }
    }

    public UDPServerThread(DatagramSocket socket, byte[] data, DatagramPacket packet) {
        this.socket = socket;
        this.data = data;
        this.packet = packet;
    }

    @Override
    public void run() {

        try {
            runMain();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    public void runMain() throws IOException {
        String info = new String(data, 0, packet.getLength());
        System.out.println("客户端说" + info);
        InetAddress address = packet.getAddress();
        System.out.println("客户端IP:" + address.getHostAddress());
        int port = packet.getPort();
        data = "欢迎您".getBytes();
        packet = new DatagramPacket(data, data.length, address, port);
        socket.send(packet);

    }

}
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
56
获赞与收藏
363

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消