javaUDP传输信息
来源:互联网 发布:阿里云centos 安装yum 编辑:程序博客网 时间:2024/06/15 14:59
package 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方式传送信息
* @author milk
*
*/
public class UDPSender1
{
public static void main(String[] args)
{
System.out.println("构建DatagramPacket对象,用来发送数据");
//要发送的信息
String sendMessage = "这是采用UDP方式发送过来的信息";
byte[] sendContent = sendMessage.getBytes();
//创建DatagramPacket对象
DatagramPacket dp = new DatagramPacket(sendContent,sendContent.length);
//定义要发送信息的IP地址
byte[] IP = new byte[]{127,0,0,1};
try
{
InetAddress local = InetAddress.getByAddress(IP);
dp.setAddress(local);//设置要发送信息的主机IP地址
dp.setPort(9999);//设置发送的端口号
DatagramSocket ds = new DatagramSocket();
System.out.println("开始发送数据");
ds.send(dp);//发送数据
System.out.println("数据发送完毕");
ds.close();
}
catch(UnknownHostException e)
{
e.printStackTrace();
}
catch(SocketException e)
{
e.printStackTrace();
}
catch(IOException e)
{
e.printStackTrace();
}
}
}
------------------------------------------------------------------------------------------------------------------------------------
package UDP;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
/**
*功能:接收采用UDP方式传送过来的信息
* @author milk
*
*/
public class UDPReceive1
{
public static void main(String[] args)
{
System.out.println("等待接收数据传递过来....");
byte[] receiveMessage = new byte[1024];//用来接收信息的数组
DatagramPacket dp = new DatagramPacket(receiveMessage,receiveMessage.length);//创建DatagramPacket对象用来接收传递过来的信息
System.out.println("使用DatagramPacket对象开始接收信息");
try
{
DatagramSocket ds = new DatagramSocket(9999);//在9999端口监听,等待接收数据
//This method blocks until a datagram is received
ds.receive(dp);
System.out.println("数据接收完毕");
byte[] rece = dp.getData();
int len = dp.getLength();
String content = new String(rece,0,len);
System.out.println("接收到的数据为:"+content);
ds.close();
}
catch(SocketException e)
{
e.printStackTrace();
}
catch(IOException e)
{
e.printStackTrace();
}
}
}
附录:
在UDP协议中,没有TCP中所谓的服务器端和客户端,而是有数据的发送端和接收端。
UDP发送数据就好像发送电报一样。对于一段需要发送的数据,每次都生成一个“数据包”实例,然后发送出去。
在UDP发送数据过程中有两个类比较重要:
1.DatagramPacket
2.DatagramSocket
数据的目的地是保存在DatagramPacket实例中的,UDP更像是现实中的信件,每个信件都包含有目的地端和数据。
DatagramSocket则像是发送信件的邮递员,只是负责将数据传递到目的地。
- javaUDP传输信息
- javaUDP实现向飞秋发送信息
- JavaUDP 实现基本通信
- 声波信息传输
- html信息传输,跨域传输,解析信息
- HTTP实时信息传输方式
- 金融信息传输8583协议
- 提高信息的传输速率
- 通过TCP传输对象信息
- Java基于UDP传输信息
- 声波传输信息的研究
- 互联网信息传输加密策略
- Netty使用Marshalling传输信息
- qt 拖放事件,信息传输
- 网络传输过程中信息安全策略研究
- 通过振动向 Linux ThinkPad 传输信息
- 使用MQ传输结构体信息
- 使用MQ传输结构体信息
- PHP导入导出Excel方法
- telnet与SSH服务
- 高通平台android开发总结
- CollabNet Subversion Edge windows版 问题详解
- c++Templates学习笔记(一)
- javaUDP传输信息
- Weblogic的安装级weblogic域配置
- YCbYCr格式
- Oracle中Union与Union All的区别
- 判断某一类型引用 使用哪个关键字?
- 群对话一
- apache
- facade pattern--外观模式
- Bayer RGB和RGB Raw