java6.02学习笔记UDPserver

简单的udp传输程序。

import java.net.*;
import java.io.*;

public class UDPServer {
    public static void main(String[] args) throws Exception {
    //1创建一个byte数组存储输入的信息
        byte[] buf = new byte[1024];
        //2将输入的信息数组存储到包中,使用了DatagramSocket的构造方法。
        DatagramPacket dp = new DatagramPacket(buf,buf.length);
        //设置收信息的端口
        DatagramSocket ds = new DatagramSocket(8888);

        while(true) {
        //信息一旦传入就会存储到包中,使用receive()读取包。使用DatagramSocket中的getLength()方法获取接收到信息的长度。
            ds.receive(dp);
            System.out.println(new String(buf,0,dp.getLength()));
        }
    }
}

UDPCilent

import java.net.*;

public class UDPCilent {
    public static void main(String[] args) throws Exception {
    //将信息存储在数组中,getBytes方法可以将字符串转换成字符序列并存储到一个数组中。
        byte[] buf = (new String(String.valueOf(2365L)).getBytes());
        //将数据打包。
        DatagramPacket dp = new DatagramPacket(buf,buf.length,new InetSocketAddress("192.168.1.100",8888));
        //设置Cilent端口
        DatagramSocket ds = new DatagramSocket(6666);
        //发送数据。
        ds.send(dp);
        ds.close();
    }
}

将一个long型数传输,经常用到,使用了io流的相关知识。

import java.net.*;
import java.io.*;

public class UDPServer {
    public static void main(String[] args) throws Exception {
        byte[] buf = new byte[1024];

        DatagramPacket dp = new DatagramPacket(buf,buf.length);

        DatagramSocket ds = new DatagramSocket(8888);

        while(true) {
            ds.receive(dp);
            //将字节数组存储到流中的字节数组中
            ByteArrayInputStream bas = new ByteArrayInputStream(buf);
            DataInputStream dis = new DataInputStream(bas);
            //调用readLlong方法读出数组。
            System.out.println(dis.readLong());
            //System.out.println(new String(buf,0,dp.getLength()));
        }
    }
}

客户端

import java.net.*;
import java.io.*;
public class UDPCilent {
    public static void main(String[] args) throws Exception {
        long n = 54651L;
        //为字节数组建立管道
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        DataOutputStream dos = new DataOutputStream(bos);
        //将字节数组写入流中,存储在一个字节数组中
        dos.writeLong(n);
        //将字节数组使用toVyteArray()方法恢复。
        byte[] buf = bos.toByteArray();


        System.out.println(buf.length);


        //byte[] buf = (new String(String.valueOf(2388888865L)).getBytes());
        DatagramPacket dp = new DatagramPacket(buf,buf.length,new InetSocketAddress("192.168.1.100",8888));

        DatagramSocket ds = new DatagramSocket(6666);
        ds.send(dp);
        ds.close();
    }
}
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34767498/article/details/51564419
文章标签: java
个人分类: 学习笔记
上一篇java6.01学习笔记TCPServer
下一篇java学习笔记6.04正则表达式和反射机制
想对作者说点什么? 我来说一句

UDPSERVER

2008年07月12日 12KB 下载

UDP Server服务器端 Demo

2016年05月19日 20.73MB 下载

udp服务器源码

2015年03月04日 103KB 下载

UDPServer Socket

2012年12月03日 21KB 下载

QT UdpServer

2013年08月18日 347KB 下载

Udp服务端代码

2012年11月27日 8KB 下载

UDP 客户端程序

2012年05月03日 2.8MB 下载

没有更多推荐了,返回首页

关闭
关闭