java发送udp广播包

2013-06-07 22:44 1272人阅读 评论(2) 收藏 举报

[java] view plaincopy

  1. import java.io.IOException;
  2. import java.net.DatagramPacket;
  3. import java.net.DatagramSocket;
  4. import java.net.InetAddress;
  5. import java.net.SocketException;
  6. import java.net.UnknownHostException;
  7. import java.text.SimpleDateFormat;
  8. import java.util.Date;
  9. import java.util.Timer;
  10. public class UdpSend {
  11. public void sendData()throws SocketException,
  12. UnknownHostException{
  13. DatagramSocket ds = new DatagramSocket();// 创建用来发送数据报包的套接字
  14. String str = "hello";
  15. DatagramPacket dp = new DatagramPacket(str.getBytes(),
  16. str.getBytes().length,
  17. InetAddress.getByName("255.255.255.255"), 3001);
  18. // 构造数据报包,用来将长度为 length 的包发送到指定主机上的指定端口号
  19. try {
  20. ds.send(dp);
  21. } catch (IOException e) {
  22. e.printStackTrace();
  23. }
  24. ds.close();
  25. }
  26. public static void main(String[] args) {
  27. Timer timer = new Timer();
  28. timer.schedule(new MyTask(), 1000, 1000);
  29. }
  30. static class MyTask extends java.util.TimerTask{
  31. @Override
  32. public void run() {
  33. UdpSend tt = new UdpSend();
  34. try {
  35. tt.sendData();
  36. } catch (SocketException e) {
  37. // TODO Auto-generated catch block
  38. e.printStackTrace();
  39. } catch (UnknownHostException e) {
  40. // TODO Auto-generated catch block
  41. e.printStackTrace();
  42. }
  43. }
  44. }
  45. }
时间: 2024-10-08 22:36:55

java发送udp广播包的相关文章

NetworkComms V3 之发送UDP广播消息

NetworkComms通信框架,是一款来自英国的c#语言编写的通信框架,历时6年研发,成熟稳定,性能可靠. NetworkComms v3目前只支持基本的UDP通信 UDP通信一个很强大的功能,就是UDP广播.允许网络上发送的一个数据包,可以被多个适配器接收.下面的场景中可以考虑使用UDP通信 1:检查哪些网络端点在线 2: 通知网络端点有一个新的服务 3: 传递信息到一组端点上 使用networkComm V3 发送UDP数据包 UDPConnection.SendObject("ChatM

android 发送UDP广播,搜寻服务器建立socket链接

应用场景:客户端(手机,pc)需要搜寻所在局域网内的服务器并获得服务器地址. 方法简介:客户端发送UDP广播,服务收到广播后得到客户端ip地址,然后向客户端发送一次socket链接,客户端收到socket链接,获得服务器地址. 相关知识: UPD.TCP.TCP是面向链接的,可靠的通信方式.UDP是面向非链接的通讯方式.TCP的建立比较麻烦,要经过"三次握手".而UDP的建立比较简单,发送方只管把内容发送出去,不管接收方是否收到.UDP的传输分为:单播,多播,广播.其中,多播和广播是通

“ping”命令的原理就是向对方主机发送UDP数据包,HTTP在每次请求结束后都会主动释放连接,因此HTTP连接是一种“短连接”

Socket  是一套建立在TCP/IP协议上的接口不是一个协议 应用层:  HTTP  FTP  SMTP  Web 传输层:  在两个应用程序之间提供了逻辑而不是物理的通信(TCP  UDP) TCP  可靠的  面向连接的服务 UDP  不可靠的  无连接的服务 只要底层实现TCP IP协议  都可以用socket进行通信 1.TCP和UDP 1.1 TCP连接 TCP协议能为应用程序提供可靠的通信连接,使一台计算机发出的字节流无差错地发往网络上的其他计算机,对可靠性要求高的数据通信系统往

Linux 网络编程——原始套接字实例:发送 UDP 数据包

以太网报文格式: 详细的说明,请看<MAC 头部报文分析>. IP 报文格式: 详细的说明,请看<IP 数据报格式详解>. UDP 报文格式: 详细的说明,请看<UDP 数据报格式详解>. 校验和函数: /******************************************************* 功能: 校验和函数 参数: buf: 需要校验数据的首地址 nword: 需要校验数据长度的一半 返回值: 校验和 ********************

UDP广播包

一,广播地址: 广播地址是专门用于同时向网络中所有工作站进行发送的一个地址.在使用TCP/IP 协议的网络中,主机号为全1的IP地址为广播地址.例如,对于 :192.168.199.0(掩码:255.255.255.0)网段,其广播地址为192.168.199.255 (255 即为2进制的11111111 ),当发出一个目的地址为192.168.199.255的分组时,它将被分发给该网段上的所有计算机. 1.直接广播地址 指Host部分全为1的广播地址.如:192.168.199.255.当某

ios开发之发送UDP广播并接收数据

用了asyncUdpSocket, 服务端在接收到广播后,就会做出回应,然后就可以开始通讯了. - (void)init{ AsyncUdpSocket *socket=[[AsyncUdpSocketalloc]initWithDelegate:self]; [socketlocalPort:16747]; NSTimeInterval timeout=5000; NSString *[email protected]"quick_stat"; NSData *data=[NSDat

Android UDP广播包抓取

只是贴代码,以前写的突然忘记了. private WifiManager.MulticastLock multicastLock; public void init(Context context){ WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); multicastLock = wifiManager.createMulticastLock("my_net"

VM虚拟机虚拟网卡对于UDP发送广播包的影响

近期做一个项目需要用到UDP发送广播包给嵌入式端的程序并要求其作出相应的反馈,一开始非常顺利.但到了测试通用性的阶段发现有的电脑无法发送出UDP广播包,进而也就是无法跟嵌入式端交互(发现并将问题锁定在此就已经花费了非常非常非常多的心血!其中可以ping通嵌入式端这点让人纠结了很久).在问题锁定了之后第一个怀疑的是防火墙,然后是杀毒软件等等,将电脑裸奔满怀希望开启软件之后依然是那副尿性.最后百无聊赖百度了下,在一篇博客的一小段中提到了VM虚拟机的虚拟网络对于UDP发送广播包有影响,突然之间恍然大悟

Go如何发送广播包

发送网络数据包成三种方式,每间单播.组播.广播. 广播通俗地讲,就是让你的机器发送的数据包能够被同一个网络内的全部主机都接收到. 在解说怎样发送广播包之前.先来看看跟广播有关的知识: 我们都知道IP地址的作用是用来在网络中定位某个网络接口的(没错,准确的讲.IP并非定位某一台主机). 我们通常见到的IP地址的形式都是例如以下这样子的: XXX.XXX.XXX.XXX 这样的IP地址的形式叫做点分十进制表示法,事实上IP是一个32位长的二进制数,以每8位为单位,共分成4个部分.也就是分成了4个字节