文档章节

UDP发送和接收数据

boonya
 boonya
发布于 2013/03/26 10:00
字数 261
阅读 903
收藏 6
UDP

发送程序:

package com.kvt.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发送消息测试:UDP接收端启动之后会一直阻塞,只有接收到信息后才关闭。
 * 如果网络无数据发送过来,也不出现阻塞,说明端口被占用。
 * 运行时先启动接收程序。
 */
public class UdpSend {
	public static void main(String[] args) throws SocketException, UnknownHostException {
		DatagramSocket ds=new DatagramSocket(); 
		String str="china";
		DatagramPacket dp=new DatagramPacket(str.getBytes(), str.length(),InetAddress.getByName("192.168.20.48"), 8000);
		try {
			ds.send(dp);
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			ds.close();
		}
		
	}

}
接收程序:

package com.kvt.udp;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
import java.net.UnknownHostException;
/**
 * UDP接收消息测试:UDP接收端启动之后会一直阻塞,只有接收到信息后才关闭。
 * 如果网络无数据发送过来,也不出现阻塞,说明端口被占用。
 * 运行时先启动接收程序。
 */
public class UdpReceive {
	public static void main(String[] args) throws SocketException, UnknownHostException {
		DatagramSocket ds=new DatagramSocket(8000); 
		byte [] byt=new byte [1024];
		DatagramPacket dp=new DatagramPacket(byt,byt.length);
		try {
			ds.receive(dp);
			String str=new String(dp.getData(),0,dp.getLength());
			System.out.println(str);
			System.out.println("IP:"+dp.getAddress().getHostAddress()+" Port:"+dp.getPort());
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			ds.close();
		}
		
		
	}

}

© 著作权归作者所有

boonya
粉丝 77
博文 310
码字总数 61673
作品 0
海淀
高级程序员
私信 提问
求一个需求的解决方案,能力有限,想不到更好的方法

需求是这样的:有很多台各个地市的服务器,通过udp数据包往固定的一台服务器上发送数据,我就在这台服务器上固定端口接收发送过来的udp数据包,然后解析提取数据包中的信息,再将信息存储在数...

steffven
2014/06/18
909
19
12. Java NIO DatagramChannel 数据报通道

一个Java NIO DatagramChannel死一个可以发送、接收UDP数据包的通道。由于UDP是面向无连接的网络协议,我们不可用像使用其他通道一样直接进行读写数据。正确的做法是发送、接收数据包。 打开...

逝去的回忆
2016/11/19
40
0
【转】关于TCP和UDP协议消息保护边界的介绍

在 socket网络程序中,TCP和UDP分别是面向连接和非面向连接的。因此TCP的socket编程,收发两端(客户端和服务器端)都要有一一成对的 socket,因此,发送端为了将多个发往接收端的包,更有效...

夏春涛
2015/06/22
0
0
Java网络编程之UDP

UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送...

学-无止境
2016/04/04
119
0
UDP协议基础

基于UDP协议的网络编程 UDP协议是一种不可靠的网络协议,它在通信实例的两端各建立一个Socket,但这两个Socket之间并没有虚拟链路,这两个Socket只是发送、接收数据报的对象。Java提供了Dat...

Sheamus
2016/03/15
16
0

没有更多内容

加载失败,请刷新页面

加载更多

js如何控制table中的某一行动态置顶

两行代码搞定: $('#'+item.roadCode).fadeOut().fadeIn();//获取到需要置顶的行 $(".table").prepend($('#'+item.roadCode)); 其中,fadeOut()方法 作用 --- 从可见到隐藏 如下: prepend(......

码妞
48分钟前
3
0
四种解决Nginx出现403 forbidden 报错的方法

我是在在本地用虚拟机中通过yum安装nginx的,安装一切正常,但是访问时报403, 于是查看nginx日志,路径为/var/log/nginx/error.log。打开日志发现报错Permission denied,详细报错如下: 1....

dragon_tech
54分钟前
3
0
获取RestResultResponse返回的值

Springboot项目,需要调其他服务的接口,返回值类型是RestResultResponse 打断点的结果集是这个 打印出来的getData(): [{id=3336b624-8474-4dd9-bd5b-c7358687c877, paraNo=104, para=Postpo...

栾小糖
58分钟前
4
0
【小学】 生成10以内的加减法

#!/usr/bin/env python# coding: utf-8from random import randrange# 题目的最大数值R_MAX = 10# 生成的题目的数量R_PAGE = 70# 生成减法列表def get_sub_list():...

Tensor丨思悟
今天
11
0
JavaScript设计模式——适配器模式

  适配器模式是设计模式行为型模式中的一种模式;   定义:   适配器用来解决两个已有接口之间不匹配的问题,它并不需要考虑接口是如何实现,也不用考虑将来该如何修改;适配器不需要修...

有梦想的咸鱼前端
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部