• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

Neil_Ling

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

java udp网络编程

import java.net.*;

/*
通过UDP传输发送文字数据
1.建立socket服务
2.提供数据,并封装到数据包中
3.通过sokect服务的发送功能,将数据包发送出去
4.关闭资源
*/
class udpsend
{
    public static void main(String[] arg) throws Exception {
        //1.创建UDP服务。通过DatagramSocket对象
        DatagramSocket ds = new DatagramSocket(1234);
        
        //2.确定数据并封装成数据包
        byte[] buf = "udp is coming".getBytes();
        DatagramPacket dp=new DatagramPacket(buf,buf.length,InetAddress.getByName("127.0.0.1"),4567);
        
        //3.通过socket服务,将已有的数据包发送出去
        ds.send(dp);
        
        //4.关闭资源
        ds.close();
        
        
        }
    }

/*需求:定义一个应用程序勇于接收UDP协议传输的数据

思路:
1.定义udpsocket服务,通常会监听一个端口
2.定义一个数据包。因为要存储接收到的字节数据
因为数据包对象中有更多功能可以提取字节数据中的不同数据信息
3.通过socket服务的receive方法将收到的数据存入已定义好的数据包中
4.通过数据包对象的特有功能,将这些不同的数据取出,打印在控制台上
5.关闭资源
*/
class udprece
{
    public static void main(String[] args) throws    Exception{
        //1.创建udp,建立端点
        DatagramSocket ds=new DatagramSocket(4567);
        
        //2.定义数据包,用于存储
        byte[] buf=new byte[1024];
        DatagramPacket dp=new DatagramPacket(buf,buf.length);
        
        //3.通过receive方法间接收到的数据存入数据包中
        ds.receive(dp);
        
        //4.通过数据包的方法获取其中的数据
        String ip=dp.getAddress().getHostAddress();
        
        String data=new String(dp.getData(),0,dp.getLength());
        
        int port=dp.getPort();
        
        System.out.println(ip+":"+port+"------"+data);
        
        //5.关闭资源
        ds.close();
        
        }
    }

 

posted on 2014-12-21 17:06  Neil_Ling  阅读(198)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3