一、打开接收端

package day35_net_网络编程.udp传输;

import java.io.IOException;
import java.net.*; /*
* 使用UDP协议接收数据
创建接收端Socket对象
接收数据
解析数据
输出数据
释放资源 */
public class UdpReceiveDate {
public static void main(String[] args) throws IOException {
int port = 8888;
InetAddress address = InetAddress.getLocalHost(); //1.创建接收端Socket对象
DatagramSocket ds = new DatagramSocket(8888,address); //2.接收数据 void receive(DatagramPacket p) 从此套接字接收数据报包。
//DatagramPacket(byte[] buf, int length) 构造 DatagramPacket,用来接收长度为 length 的数据包。
byte[] byts = new byte[1024];
int length = byts.length; DatagramPacket dp = new DatagramPacket(byts,length); System.out.println(1);
ds.receive(dp);//阻塞
System.out.println(2); //3.输出数据
// byte[] getData() 返回数据缓冲区。 byte[] byt = dp.getData();
int len = dp.getLength();
String data = new String(byt,0,len); System.out.println("send -->"+ address.getHostName() + "---" + data); //4.释放资源
ds.close(); }
}

二、发送端,发送数据

package day35_net_网络编程.udp传输;

import java.io.IOException;
import java.net.*; /*
* 使用UDP协议发送数据
创建发送端Socket对象
创建数据并打包
发送数据
释放资源
*
* DatagramSocket:此类表示用来发送和接收数据,基于UDP协议的
*
* DatagramSocket() :创建Socket对象并随机分配端口号
* DatagramSocket(int port) :创建Socket对象并指定端口号
*
* * UDP协议收发数据的注意事项:
* 端口号错误,数据可以正常发出,不会出现异常,但是收不到数据(udp无连接,只管发不管能不能收到)
* Exception in thread "main" java.net.BindException: Address already in use: Cannot bind
* 端口号已经绑定了
*/
public class UdpSendDate {
public static void main(String[] args) throws IOException { //1.创建发送端Socket对象,构造方法DatagramSocket(int port, InetAddress laddr)
DatagramSocket ds = new DatagramSocket(); //2.发送数据void send(DatagramPacket p)
//发包构造方法:DatagramPacket(byte[] buf, int length, InetAddress address, int port) 构造数据报包,用来将长度为 length 的包发送到指定主机上的指定端口号。
String s = "hello udp 0000";
byte[] byts = s.getBytes();
// int length = 1024;
int length = byts.length;
int port = 8888;
//使用本地地址发送数据
InetAddress address = InetAddress.getLocalHost();
DatagramPacket dp = new DatagramPacket(byts,length,address,port); //3.发送数据
ds.send(dp); //4.释放资源
ds.close();
}
}

三、输出

37.1 net-- udp传输的更多相关文章

  1. 基于UDP传输协议局域网文件接收软件设计 Java版

    网路传输主要的两大协议为TCP/IP协议和UDP协议,本文主要介绍基于UDP传输的一个小软件分享,针对于Java网络初学者是一个很好的练笔,大家可以参考进行相关的联系,但愿能够帮助到大家. 话不多说, ...

  2. AC6102 开发板千兆以太网UDP传输实验2

    AC6102 开发板千兆以太网UDP传输实验 在芯航线AC6102开发板上,设计了一路GMII接口的千兆以太网电路,通过该以太网电路,用户可以将FPGA采集或运算得到的数据传递给其他设备如PC或服务器 ...

  3. AC6102 开发板千兆以太网UDP传输实验

    AC6102 开发板千兆以太网UDP传输实验 在芯航线AC6102开发板上,设计了一路GMII接口的千兆以太网电路,通过该以太网电路,用户可以将FPGA采集或运算得到的数据传递给其他设备如PC或服务器 ...

  4. linux网络编程-(socket套接字编程UDP传输)

    今天我们来介绍一下在linux网络环境下使用socket套接字实现两个进程下文件的上传,下载,和退出操作! 在socket套接字编程中,我们当然可以基于TCP的传输协议来进行传输,但是在文件的传输中, ...

  5. 在两个Android设备间通过UDP传输目录内文件

    这两天下了一个使用UDP传输目录内文件的程序,发出来给大家一起看看,共同进步.有问题请指教. 由于udp丢包比较厉害,因此使用了自定义的内部协议,进行双方的确认. 程序跑起来后,看网络状况,有时候会一 ...

  6. UDP传输包大小(转)

    源:UDP传输包大小 在进行UDP编程的时候,我们最容易想到的问题就是,一次发送多少bytes好? 当然,这个没有唯一答案,相对于不同的系统,不同的要求,其得到的答案是不一样的,我这里仅对 像ICQ一 ...

  7. JAVA之旅(三十二)——JAVA网络请求,IP地址,TCP/UDP通讯协议概述,Socket,UDP传输,多线程UDP聊天应用

    JAVA之旅(三十二)--JAVA网络请求,IP地址,TCP/UDP通讯协议概述,Socket,UDP传输,多线程UDP聊天应用 GUI写到一半电脑系统挂了,也就算了,最多GUI还有一个提示框和实例, ...

  8. Java 初学UDP传输

    不谈理论,先举简单例子. 发送端代码: public class UDPDemo { public static void main(String[] args) throws Exception { ...

  9. Android如何实现TCP和UDP传输

    TCP和UDP在网络传输中非常重要,在Android开发中同样重要. 首先我们来看一下什么是TCP和UDP. 什么是TCP? TCP:Transmission Control Protocol 传输控 ...

  10. socket通信——通过Udp传输方式,将一段文字数据发送出去

    需求:通过Udp传输方式,将一段文字数据发送出去 定义一个Udp发送端 思路: 1.建立updsocket服务 2.提供数据,并将数据封装到数据包中. 3.通过socket服务的发送功能,将数据包发出 ...

随机推荐

  1. libfastcommon总结(二)从文件中加载配置信息

    头文件为ini_file_reader.h 主要接口 IniContext iniContext;//定义配置文件信息 iniLoadFromFile();//加载文件为结构化配置信息    iniG ...

  2. Natas8 Writeup(常见编码、php函数)

    Natas8: 同样给了php源码,审计源码,发现给了一个预设参数encodedSecret,以及一个加密函数encodeSecret, 该函数将secret参数先进行base64编码.然后用strr ...

  3. VScode 快捷键大全

    按 Press 功能 Function Ctrl + Shift + P,F1 显示命令面板 Show Command Palette Ctrl + P 快速打开 Quick Open Ctrl + ...

  4. 108. Convert Sorted Array to Binary Search [Python]

    108. Convert Sorted Array to Binary Search Given an array where elements are sorted in ascending ord ...

  5. 用c写的简单的日历(学习模块划分)

    简单日历 ​ 主要目的是学习函数模块划分,成品大概是这样,加了一些花里胡哨的东西(/▽\) ​ 分三个模块,主函数.c 显示.c 计算.c 与.h 文件 有两种实现方式,区别在于是否以数组在模块之间传 ...

  6. P1969 积木大赛 题解

    原题链接 简要题意: 每次把一段区间 \(+1\),问得到 \(a\) 数组的最小次数. 我们可以把 \(+1\) 得到 \(a\) 换成,从 \(a\) 依次 \(-1\) 得到 \(0\). 算法 ...

  7. 图-连通分量-DFS-749. 隔离病毒

    2020-03-17 21:56:20 问题描述: 病毒扩散得很快,现在你的任务是尽可能地通过安装防火墙来隔离病毒. 假设世界由二维矩阵组成,0 表示该区域未感染病毒,而 1 表示该区域已感染病毒.可 ...

  8. 动态规划/MinMax-Predict the Winner

    2018-04-22 19:19:47 问题描述: Given an array of scores that are non-negative integers. Player 1 picks on ...

  9. Asp.Net Core 中IdentityServer4 实战之角色授权详解

    一.前言 前几篇文章分享了IdentityServer4密码模式的基本授权及自定义授权等方式,最近由于改造一个网关服务,用到了IdentityServer4的授权,改造过程中发现比较适合基于Role角 ...

  10. Python如何用virtualenv搭建虚拟环境

    虚拟环境的搭建 优点 1.使不同应用开发环境相互独立 2.环境升级不影响其他应用,也不会影响全局的python环境 3.防止出现包管理混乱及包版本冲突 windows 安装 # 建议使用pip3安装到 ...