UDP传输(一)

UDP传输

DatagramSocket与DatagramPacket

建立发送端,接收端。

建立数据包。

调用Socket的发送接收方法。

关闭Socket。

发送端与接收端是两个独立的运行程序。

例子1:UDP发送接收数据

import java.io.IOException;

import java.net.DatagramPacket;

import java.net.DatagramSocket;

import java.net.InetAddress;

import java.net.SocketException;

import java.net.UnknownHostException;

/*

*UDP协议发送数据:

* A:创建发送端Socket对象

* B:创建数据,并把数据打包

* C:调用Socket对象的发送方法发送数据包

* D:释放资源

*/

public class SendDemo {

publicstatic void main(String[] args) throws IOException {

//TODO Auto-generated method stub

//创建发送端Socket对象

//DatagramSocket()

DatagramSocketds = new DatagramSocket();

//创建数据,并把数据打包

//DatagramPacket(byte[]buf,int length,InetAddress address,int port)

//创建数据

byte[]bys = "hello,udp,我来了".getBytes();

//长度

intlength = bys.length;

//IP地址

InetAddressaddress = InetAddress.getByName("219.216.80.19");

//端口

intport = 10086;

DatagramPacketdp = new DatagramPacket(bys,length,address,port);

//调用Socket对象发送数据包

//publicvoid send (DatagramPacket dp)

ds.send(dp);

//释放资源

ds.close();

}

}

import java.io.IOException;

import java.net.DatagramPacket;

import java.net.DatagramSocket;

import java.net.InetAddress;

import java.net.SocketException;

/*

* UDP协议接受数据:

* A:创建发送端Socket对象

* B:创建数据包(接受容器)

* C:调用Socket对象的接受方法接受数据

* D:解析数据,并显示在控制台

* D:释放资源

*/

public
class
ReceiveDemo {

public
static void
main(String[] args)
throws IOException {

// TODO Auto-generated method stub

//创建接收端Socket对象

//DatagramSocket(int port)

DatagramSocketds =
new
DatagramSocket(10086);

//创建一个数据包(接收数据)

byte[] bys =
new byte[1024];

int length = bys.length;

DatagramPacketdp = newDatagramPacket(bys,length);

//调用Socket对象的接收方法接收数据

ds.receive(dp);

//解析数据包

InetAddressaddress = dp.getAddress();

Stringip = address.getHostAddress();

byte[]
bys2
=dp.getData();

int len = dp.getLength();

Strings = newString(bys,0,len);

System.out.println(s);

System.out.println(ip+":"+s);

//释放资源

ds.close();

}

}

运行结果:

hello,udp,我来了

219.216.80.19:hello,udp,我来了

UDP发送接收数据图解:

时间: 2025-01-05 04:34:00

UDP传输(一)的相关文章

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

今天我们来介绍一下在linux网络环境下使用socket套接字实现两个进程下文件的上传,下载,和退出操作! 在socket套接字编程中,我们当然可以基于TCP的传输协议来进行传输,但是在文件的传输中,如果我们使用TCP传输,会造成传输速度较慢的情况,所以我们在进行文件传输的过程中,最好要使用UDP传输. 在其中,我们需要写两个程序,一个客户端,一个服务端,在一个终端中,先运行服务端,在运行客户端,在服务端和客户端都输入IP地址和端口号,注意服务端和客户端的端口号要相同,然后选择功能,在linux

浅析Java网络编程之UDP传输(一)

网络传输方式一般有两种--TCP和UDP.本文用于简单了解一下UDP传输方式. 一.UDP有何特点? 1.面向无连接的: 2.面向报文的,且每一份报文不超过64KB: 3.不可靠但高效(不用建立连接): 4.支持一对一.一对多.多对一.多对多的交互通讯: 对于这些特点,没有什么为什么,事实而已啦! 二.在Java中怎么玩UDP? 在Java中,将建立UDP服务相关操作封装到了DatagramSocket类中,将数据报相关操作封装到了DatagramPacket类中. 三.具体玩的思路是什么? U

JAVA中TCP和UDP传输例子的对比

在本文中我将学到的java中的UDP和TCP在局域网内的传输做了对比,这里强调 的是局域网范围内,非广域网.首先,下面的是我写的在局域网内利用java中的UDP协议写的一个传输文件或者图片的类. --------------------------------------------------------------------------------------------------------------------------------------------------------

黑马程序员——Java网络编程之UDP传输

网络编程 网络模型 通讯要素:InetAddress(对象):ip地址,网络中设备的标识,不可记忆,可用主机名,本地回环地址:127.0.0.1主机名localhost 端口号 传输协议:UDP,将数据的源及目的封装成数据包中,不需要建立连接,每个数据包的大小限制在64K内,无连接,是不可靠协议,不需要建立连接,速度快.力求速度,不求数据的准确性.比如聊天软件,网络会议. TCP:建立连接,形成传输数据的通道,在连接中进行大数据量传输,通过三次握手完成连接,是可靠协议,必须建立连接效率稍低. S

UDP传输

1.发送Send 创建DatagramSocket, 随机端口号 创建DatagramPacket, 指定数据, 长度, 地址, 端口 使用DatagramSocket发送DatagramPacket 关闭DatagramSocket 2.接收Receive 创建DatagramSocket, 指定端口号 创建DatagramPacket, 指定数组, 长度 使用DatagramSocket接收DatagramPacket 关闭DatagramSocket 从DatagramPacket中获取数

java UDP传输详解

UDP传输是一个面向无连接的传输方式,什么叫无连接呢,简单点说呢就是不管你在不在线,我都发数据给你,像那个电影里警察拿的那个呼叫用的就这这个原理 还有以前的QQ聊天也是,现在2013版的可以选择是UPD还是TCP,好了不多说,上点代码玩一下 分析:通过udp传输方式,将一段数据发送出去 思路: 1,建议udpsocket服务 2,提供数据,并将数据封装到数据包中 3,通过socket服务的发送功能,讲数据包发送出去. 4,关闭资源 牢记思路,代码哪里都有 package com.szc02; i

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

AC6102 开发板千兆以太网UDP传输实验 在芯航线AC6102开发板上,设计了一路GMII接口的千兆以太网电路,通过该以太网电路,用户可以将FPGA采集或运算得到的数据传递给其他设备如PC或服务器,或者接收其他设备传输过来的数据并进行处理. 接触过以太网的用户,应该最常听说的是TCP/IP协议,确实,在PC端或者嵌入式系统中,TCP/IP协议应用非常广泛,因此,当大家看到FPGA上带有以太网接口时,可能第一个想到的也是实现TC/IP协议.这里,首先可以很肯定的告诉大家,使用FPGA实现TCP

UDP传输包大小(转)

源:UDP传输包大小 在进行UDP编程的时候,我们最容易想到的问题就是,一次发送多少bytes好? 当然,这个没有唯一答案,相对于不同的系统,不同的要求,其得到的答案是不一样的,我这里仅对 像ICQ一类的发送聊天消息的情况作分析,对于其他情况,你或许也能得到一点帮助: 首先,我们知道,TCP/IP通常被认为是一个四层协议系统,包括链路层,网络层,运输层,应用层. UDP属于运输层,下面我们由下至上一步一步来看: 以太网(Ethernet)数据帧的长度必须在46-1500字节之间,这是由以太网的物

三、初识TCP/UDP(传输层)

一.初识TCP/UDP(传输层) 引言:TCP(Transmission Control Protocol),又叫传输控制协议,UDP(User Datagram Protocol),又叫用户数据报协议.两者都是是传输层协议,但他们的通信机制与应用场景不同. 1.TCP与UDP区别 特点 TCP UDP 传输方式 字节流 数据报 连接性 面向连接 面向非连接 可靠性 可靠 不可靠 传输效率 慢 快 面向字节流(TCP) 面向字节流的话,虽然应用程序和TCP的交互是一次一个数据块(大小不等),TC