Java IO——UDP连接测试

来源:互联网 发布:淘宝 蒋凡 编辑:程序博客网 时间:2024/06/16 08:24



服务端:


/** * Created by LiuHuiChao on 2016/3/11. */public class UDPServer {    public  static  void main(String[] args)throws  Exception{        /**         * 接收客户端发送的数据         */        //1,创建服务器端DatagramSocket,指定端口        DatagramSocket socket=new DatagramSocket(8800);        //2,创建数据报,用于接收客户端发送的数据        byte[] data=new byte[1024];//创建字节数组,指定接收数据包的大小        DatagramPacket packet=new DatagramPacket(data,data.length);        //3,接收客户端发送的数据        System.out.println("服务器已经启动啦啦啦---前方高能---");        socket.receive(packet);//此方法在接收到数据报之前,会一直阻塞        //4,服务端读取数据        String info=new String(data,0,packet.getLength());        System.out.println("这里是服务器,客户端say:"+info);        /**         * 向客户端发送响应         */        //1,定义客户端的地址,端口号,数据        InetAddress address=packet.getAddress();//获取客户端的addrss实例        int port=packet.getPort();        byte[] data2="欢迎思密达。。。(づ ̄ 3 ̄)づ".getBytes();        //2,创建数据报,包含响应的数据信息        DatagramPacket packet2=new DatagramPacket(data2,data2.length,address,port);        //3,响应客户端        socket.send(packet2);        //4,关闭资源        socket.close();    }}


客户端:


/** * Created by LiuHuiChao on 2016/3/11. * 客户端 */public class UDPClient {    public  static  void main(String[] args) throws  Exception{        /**         * 向服务器端发送数据         */        //1,定义服务器的地址,端口号,数据        InetAddress address= InetAddress.getByName("localhost");        int port=8800;        byte[] data="用户名:admin;密码:123".getBytes();        //2,创建数据包,包含发送的数据信息        DatagramPacket packet=new DatagramPacket(data,data.length,address,port);        //3,创建DatagramSocket对象        DatagramSocket socket=new DatagramSocket();        //4,使用DatagramSocket向服务器端发送数据报        socket.send(packet);        /**         * 接收服务器端响应的数据         */        //1,创建数据报,用于接收服务器端响应数据        byte[] data2=new byte[1024];        DatagramPacket packet1=new DatagramPacket(data2,data2.length);        //2,接收服务器端响应的数据        socket.receive(packet1);        //3,读取数据        String reply=new String(data2,0,packet1.getLength());        System.out.print("我是客户端,服务器say:"+reply);        //4,关闭资源        socket.close();    }}




0 0