java网络编程(3)——UDP
UDP在java中主要使用DatagramSocket来实现通讯,数据一般是通过DatagramPacket来封装;
发送方只需指定接受方的地址和端口,然后通过send()方法就可以把封装在DatagramPacket中数据发送过去!
而接收方只需同样利用DatagramSocket和一个DatagramPacket来接收数据就可以了,接受只需指定接受端口就可以了,具体如下:
发送方:
package com.seven.exercise1; import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress; public class UdpSend { public static void main(String[] args) throws Exception { //1.udp服务
DatagramSocket ds = new DatagramSocket(); //2.封装数据到DatagramPacket
byte[] data = "hello udp socket".getBytes(); InetAddress inetAddress = InetAddress.getByName("127.0.0.1");//地址.
DatagramPacket datagramPacket = new DatagramPacket(data, data.length, inetAddress, 10000); //3.发送数据
ds.send(datagramPacket); //4.关闭
ds.close(); }
}
接受方;
package com.seven.exercise1; import java.net.DatagramPacket;
import java.net.DatagramSocket; public class UdpReceive { public static void main(String[] args) throws Exception{
//1.新建接收方
DatagramSocket datagramSocket = new DatagramSocket(10000);
//2.绑定接收package
byte[] b = new byte[1024];
DatagramPacket dp = new DatagramPacket(b,b.length);
//3.接收数据
datagramSocket.receive(dp);
//4.接收到数据的话那就打印出来
String data = new String(dp.getData(),0,dp.getLength());
System.out.println(dp.getAddress().getHostAddress() +"----->"+ data);
//5.关闭;
datagramSocket.close(); } }
因为UDP是面向无连接的,所以无论怎么运行都可以,但是为了能够接受到数据,我们要把接受方先运行起来,再去运行发送方,这样才可以看出效果,不然的话数据包丢失也就看不出什么效果了==。
java网络编程(3)——UDP的更多相关文章
- java 网络编程-tcp/udp
--转自:http://blog.csdn.net/nyzhl/article/details/1705039 直接把代码写在这里,解释看这里吧:http://blog.csdn.net/nyzhl/ ...
- java 网络编程基础 UDP协议的Socket:DatagramSocket;广播Socket:MulticastSocket
什么是UDP协议: UDP协议是一种不可靠的网络协议,它在通信实例的两端各建立一个Socket 但这两个 Socket之间并没有虚拟链路,这两个Socket只是发送.接收数据报的对象.Java 提供了 ...
- java网络编程(4)——udp实现聊天
UDP可以实现在线聊天功能,我这里就是简单模拟一下: 发送端: package com.seven.udp; import java.io.BufferedReader; import java.io ...
- java 网络编程基础 UDP协议DatagramSocket,MulticastSocket 实现局域网聊天软件(Server + Client模式)
开发思路: 服务端两个Socket: UDP的DatagramSocket接收客户端消息. 广播multicastSocket 发送广播消息 客户端一个Socket: multicastSocke ...
- Java网络编程——TCP/UDP
UDP:面向无连接 ☆ 将数据及源地址和目的地址封装成数据包中 ☆ 每个数据报的大小限制在64K ☆ 不可靠协议 ☆ 不需要建立连接,速度快 TCP:面向有连接 ☆ 建立连接,形成传输数据的通道 ☆ ...
- Java 网络编程 --基于UDP实现一对一聊天功能
UDP 基本流程: UDP发送端基本流程: 1.使用DatagramSocket 指定端口 创建发送端 2.准备数据 一定转成字节数组 3. 封装成DatagramPacket 包裹,需要指定目的地 ...
- java:网络编程(UDP (DatagramSocket和DatagramPacket)正则表达式)
java:网络编程(UDP (DatagramSocket和DatagramPacket)正则表达式) * TCP* 特点:面向连接,点对点的通信,效率较低,但安全可靠* UDP:用户数据报协议,类似 ...
- Java网络编程UDP通信原理
前言 继续今天我们的Java网络编程--TCP和UDP通信 一.TCP和UDP概述 传输层通常以TCP和UDP协议来控制端点与端点的通信 TCP UDP 协议名称 传输控制协议 用户数据包协议 是 ...
- Java 网络编程学习总结
新手一枚,Java学习中,把自己学习网络编程的知识总结一下,梳理下知识,方便日后查阅,高手莫进. 本文的主要内容: [1] 网络编程认识 [2] TCP/IP编程 ...
- java 网络编程复习(转)
好久没有看过Java网络编程了,现在刚好公司有机会接触,顺便的拾起以前的东西 参照原博客:http://www.cnblogs.com/linzheng/archive/2011/01/23/1942 ...
随机推荐
- 模态框zeroModal快速引入
最基本快速接入 <%@ page language="java" contentType="text/html; charset=UTF-8" pageE ...
- Windows ftp脚本和RSCD agent自动安装脚本
Windows ftp脚本 和bladelogic RSCD Agent自动安装脚本 比较简单的命令是msiexec /I "C:\RSCD85-SP1-WIN64.msi" /Q ...
- Linux指令--chown
chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID:组可以是组名或者组ID:文件是以空格分开的要改变权限的文件列表,支持通配符.系统管理员经常使用chown命令,在将文件拷贝 ...
- 数据流(任务并行库 TPL)
TPL 数据流库向具有高吞吐量和低滞后时间的占用大量 CPU 和 I/O 操作的应用程序的并行化和消息传递提供了基础. 它还能显式控制缓存数据的方式以及在系统中移动的方式. 为了更好地了解数据流编程模 ...
- IO (四)
1 深度遍历文件夹 示例: package java20; import java.io.File; import java.io.FilenameFilter; import java.text.S ...
- 日历插件——laydate.js
laydate是一款很好用的日历控件,兼容了包括IE6在内的所有主流浏览器,默认有三种皮肤,如需其它皮肤可去官网下载http://www.layui.com/laydate/ 一.核心方法:layd ...
- JS学习--DOM
1.概念 文档对象模型DOM,定义访问和处理HTML文档的标准方法.DOM将HTML呈现为带有元素.属性和文本的树结构(节点树). 2.document.getElementById("id ...
- typedef如何显示变量类型名
dsa typedef unsigned long int NUM; typedef unsigned short int Data; //为已经存在的类型起一个别名 //1.定义一个变量 unsig ...
- VSFTPD 源码安装升级
/usr/local/sbin/vsd -v cp /usr/local/sbin/vsd /usr/sbin/vsd 制作启动脚本 vim /etc/xinetd.d/vsd disable = y ...
- Win7系统下彻底删除无用服务的方法
win7系统下中有非常多的服务项,用户来满足不同行业用户间的所有需求,系统服务也是执行指定系统功能的程序,许多情况下我们想要运行软件或执行外接设备都无法离开系统服务,但并非所有系统服务都是我们用到的, ...