首页 > 编程语言 > 详细

Java UDP套接字编程(二)循环发送与接收

时间:2021-04-03 19:44:27      阅读:18      评论:0      收藏:0      [点我收藏+]

Java UDP套接字编程(二)循环发送与接收

通过UDP套接字实现循环发送与接收消息,直到发送或接收到"bye"为止。

发送消息:

package com.zzz.net;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetSocketAddress;

public class UdpSenderDemo01 {
    public static void main(String[] args) throws Exception {
        DatagramSocket socket = new DatagramSocket(6666);   //建立一个socket

        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));   //准备从控制台读取 System.in

        while (true) {
            String data = reader.readLine();
            byte[] sendData = data.getBytes();
            DatagramPacket packet = new DatagramPacket(sendData, 0, sendData.length, new InetSocketAddress("localhost", 7777));

            socket.send(packet);

            if(data.equals("bye")){
                break;
            }
        }

        socket.close();
    }
}

接收消息:

package com.zzz.net;

import java.net.DatagramPacket;
import java.net.DatagramSocket;

public class UdpReceiveDemo01 {
    public static void main(String[] args) throws Exception {
        DatagramSocket socket = new DatagramSocket(7777);

        while (true) {
            byte[] container = new byte[1024];
            DatagramPacket packet = new DatagramPacket(container, 0, container.length);
            socket.receive(packet); //阻塞式接收包

            byte[] data = packet.getData();
//            String receiveData = new String(data, 0, data.length);
            String receiveData = new String(data, 0, packet.getLength());
            System.out.println(receiveData);

//            if(receiveData.startsWith("bye")&&receiveData.charAt(3)==‘\u0000‘){ //断开连接
            if(receiveData.equals("bye")){
                break;
            }
        }
        socket.close();
    }
}

Java UDP套接字编程(二)循环发送与接收

原文:https://www.cnblogs.com/zzzstudy/p/14613950.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!