UDP 最简单DEMO

来源:互联网 发布:网络在线教师招聘 编辑:程序博客网 时间:2024/05/08 06:55

UDP服务端

package com.xykj.demo;

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

public class Demo {

/** * @param args */public static void main(String[] args) {    try {        //创建DatagramSocket 并指定 端口号9000        DatagramSocket mDatagramSocket = new DatagramSocket(9000);        byte[] data = new byte[1024];        //接收一个快件 数据包                    --- 数据将存放在data 中,data.length 指的是 缓冲区的大小        DatagramPacket mDatagramPacket = new DatagramPacket(data, data.length);        //mDatagramSocket 接收数据,数据都装在mDatagramPacket中        //堵塞的方法        mDatagramSocket.receive(mDatagramPacket);        //将接收到的数据转化为字符串        mDatagramPacket.getData() 指的是data   mDatagramPacket.getLength() 指的是接收的长度        String messageString = new String(mDatagramPacket.getData(),0,mDatagramPacket.getLength());        //获取到对方的IP地址        System.out.println(mDatagramPacket.getAddress());        //获取到对方的端口号        System.out.println(mDatagramPacket.getPort());        System.out.println(messageString);    } catch (SocketException e) {        // TODO Auto-generated catch block        e.printStackTrace();    } catch (IOException e) {        // TODO Auto-generated catch block        e.printStackTrace();    }}

}

UDP客户端

package com.xykj.demo;

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

public class Demo {

public static void main(String[] args) {    try {        //创建一个DatagramSocket  指定端口号为8888        DatagramSocket mDatagramSocket = new DatagramSocket(8888);        //打包想要发送的数据,包括填写对方的IP 端口等数据,        //以确保数据可以到达对方手上        DatagramPacket mPacket = new DatagramPacket("hello".getBytes(), ""                "hello".getBytes().length, InetAddress.getByName("127.0.0.1"),                9000);        //mDatagramSocket 调用send方法发送数据包mPacket        //通知快递员将包裹发送出去        mDatagramSocket.send(mPacket);    } catch (SocketException e) {        // TODO Auto-generated catch block        e.printStackTrace();    } catch (UnknownHostException e) {        // TODO Auto-generated catch block        e.printStackTrace();    } catch (IOException e) {        // TODO Auto-generated catch block        e.printStackTrace();    }}

}

1 0
原创粉丝点击