基于UDP编程

UDP协议:与TCP不同的是,UDP是面向非连接的,且效率较高,不需要等待服务器的回应。它类似于现实中的发短信和邮件等,发送方只管发送信息即可,无需关注信息是否丢失。

服务器端:

> package com.geminno.text15.udp;

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

public class MyServer {
    public static void main(String[] args) {
        //创建服务器端指定端口
        DatagramSocket ds=null;
        DatagramPacket dgs=null;
        try {
            ds=new DatagramSocket(8855);
            //准备容器存储接受的数据
            byte [] bytes=new byte[1024];
            //创建一个datagrampacket对象,用来接受数据
             dgs=new DatagramPacket(bytes,bytes.length);
            //服务器端接受数据
            ds.receive(dgs);
            //分析数据
            byte[] data=dgs.getData();
            System.out.println(new String(data,0,data.length));

        } catch ( IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally{
            ds.close();
        }
    }   
}

客户端:
>package com.geminno.text15.udp;

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


public class MyClient {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
            DatagramSocket client=null;
            //创建客户端对象
            try {
                client=new DatagramSocket(9999);
                //准备数据
                String s="快乐大本营";
                byte[] data=s.getBytes();
                //准备数据包
                DatagramPacket dgs=new DatagramPacket(data,data.length ,new InetSocketAddress("127.0.0.1", 8855) );
            //发送信息
                client.send(dgs);
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally{
                client.close();
            }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值