创建UDP传输的发送端 :

    1.建立udp的socket服务
      2.将要发送的数据封装到数据包中
      3.通过udp的socket服务 将数据包发送出去
      4.关闭socket服务(因为调用了系统的底层资源网卡)

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress; public class UDPSendDemo {
public static void main(String[] args) throws IOException { System.out.println("发送端启动......."); //1.udp的socket服务,使用DatagramSocket对象
DatagramSocket ds = new DatagramSocket(); //2.将要发送的数据封装到数据包中
String str = "哥们来啦!"; //使用DatagramPacket将数据封装到该对象包中
byte[] buf = str.getBytes();
DatagramPacket dp =
new DatagramPacket(buf, buf.length, InetAddress.getByName("127.0.0.1"), 10000); //通过udp的socket服务将数据包发送出去,使用send方法
ds.send(dp); //关闭资源
ds.close(); }
}

建立UDP接收端:

  1.建立udp socket服务,因为要接受数据,所以必须要明确端口号
  2.创建数据包,用于存储接收到的数据,方便用于数据包对象的方法解析这些数据
  3.使用socket服务的receive方法将接收到的数据存储到数据包中,
  4.通过数据包的方法解析数据包中的数据
  5.关闭资源

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException; public class UDPReceiveDemo { public static void main(String[] args) throws IOException { System.out.println("接收端启动......."); //1.建立udp socket服务
DatagramSocket ds = new DatagramSocket(10000); //2.创建数据包,用于存儲接受到到的数据
byte[] buf = new byte[1024];
DatagramPacket dp = new DatagramPacket(buf, buf.length); //3.使用接收方法将数据存储在数据包中
ds.receive(dp);//阻塞式的方法,没有数据会等待 //4.通过数据包对象的方法,解析其中的数据,比如:地址,端口,数据内容
String ip = dp.getAddress().getHostAddress();
int port = dp.getPort();
String text = new String(dp.getData(),0,dp.getLength()); System.out.println(ip+":"+port+":"+text);
//5.关闭资源
ds.close();
} }

网络编程_UDP协议_发送端与接收端的更多相关文章

  1. Java网络编程(UDP协议:发送端)

    package WebProgramingDemo; import java.io.IOException; import java.net.DatagramPacket; import java.n ...

  2. 网络编程_UDP协议_聊天程序

    发送端:(将数据源改为键盘录入) import java.io.BufferedReader; import java.io.IOException; import java.io.InputStre ...

  3. [转]C#网络编程(订立协议和发送文件) - Part.4

    本文转自:http://www.tracefact.net/CSharp-Programming/Network-Programming-Part4.aspx 源码下载:http://www.trac ...

  4. C#网络编程(订立协议和发送文件) - Part.4

    文件传输 前面两篇文章所使用的范例都是传输字符串,有的时候我们可能会想在服务端和客户端之间传递文件.比如,考虑这样一种情况,假如客户端显示了一个菜单,当我们输入S1.S2或S3(S为Send缩写)时, ...

  5. 网络编程_TCP协议_客户端与服务端

    客户端发数据到服务端 Tcp传输,客户端建立的过程. 1,创建tcp客户端socket服务.使用的是Socket对象.建议该对象一创建就明确目的地.要连接的主机. 2,如果连接建立成功,说明数据传输通 ...

  6. 网络编程TCP协议-聊天室

    网络编程TCP协议-聊天室(客户端与服务端的交互); <span style="font-size:18px;">1.客户端发数据到服务端.</span> ...

  7. 网络编程——TCP协议、UDP协议、socket套接字、粘包问题以及解决方法

    网络编程--TCP协议.UDP协议.socket套接字.粘包问题以及解决方法 TCP协议(流式协议) ​ 当应用程序想通过TCP协议实现远程通信时,彼此之间必须先建立双向通信通道,基于该双向通道实现数 ...

  8. java网络编程+通讯协议的理解

    参考: http://blog.csdn.net/sunyc1990/article/details/50773014 网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很 ...

  9. 网络版shell之网络编程练习篇--telnet服务端

    网络版shell之网络编程练习篇--telnet服务端   以前写过一个shell命令解释器,对与shell命令解释器的执行流程有了清晰的认识,这段时间学习网络编程,至于网络编程的细节以及知识点,已经 ...

随机推荐

  1. spring-boot-2.0.3启动源码篇二 - run方法(一)之SpringApplicationRunListener

    前言 Springboot启动源码系列还只写了一篇,已经过去一周,又到了每周一更的时间了(是不是很熟悉?),大家有没有很期待了?我会尽量保证启动源码系列每周一更,争取不让大家每周的期望落空.一周之中可 ...

  2. 页面滚动显示或隐藏元素Headroom.js插件帮助你实现滚动效果

    Headroom.js 是什么? Headroom.js 是一个轻量级.高性能的JS小工具(不依赖任何工具库!),它能在页面滚动时做出响应.此页面顶部的导航条就是一个鲜活的案例,当页面向下滚动时,导航 ...

  3. 基于cookie的SSO单点登录系统

    利用COOKIE实现单点登录功能 近期公司要求帮一个项目实现单点登录功能,在综合考量下决定采用cookie实现,大概的流程如下图所:

  4. HTML XML 介绍

    一. HTML(HyperTextMark-upLanguage)即超文本标记语言,是WWW的描述语言. 二. XML即ExtentsibleMarkup Language(可扩展标记语言), XML ...

  5. Asp.Net4.5 mvc4(二) 页面创建与讲解

    一.Contorl 通过目录结构我们可以看到contorllers类的命名方式 命名规则:前缀+Controller. 在看看contorller中的action方法 using System; us ...

  6. Topshelf 学习 跨平台【转载】

    Topshelf 学习 跨平台   Topshelf是一个开源的跨平台的宿主服务框架,支持Windows和Mono,只需要几行代码就可以构建一个很方便使用的服务宿主. 官网:http://topshe ...

  7. TestOps - 最健壮性的测试角色

    一十一 发表于 2018-03-02 09:10:08 TestOps   最具影响力的测试运维一体化综合平台. DevOps实现了从代码到服务的快速落地,而TestOps集成了DevOps效率,更是 ...

  8. php面向对象的接口和APP接口区别

    以下是php面向对象的接口:

  9. PHP7.27: connect mysql 5.7 using new mysqli

    <!doctype html> <html> <head> <meta name="viewport" content="wid ...

  10. 对GIL的一些理解

    GIL:全局解释器锁 GIL设计理念与限制: python的代码执行由python虚拟机(也叫解释器主循环,CPython版本)来控制,python在设计之初就考虑到在解释器的主循环中,同时只有一个线 ...