- 浏览: 183702 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (103)
- Java综合 (19)
- java模式 (1)
- java 包详解 (8)
- 需要阅读的书目 (1)
- Json (1)
- MySQL (2)
- zkoss (2)
- svn (1)
- JavaScript (1)
- html (1)
- 试题集锦 (6)
- 试题集锦_poj (1)
- Vim 操作 (2)
- Linux 操作 (5)
- NS2 学习 (2)
- 网络 (4)
- c/c++ (7)
- WNS - Wired Network Simulator (1)
- 网络信息体系结构 (16)
- MIPS (1)
- Java图形化编程 (2)
- 数据结构 (1)
- 数学 (3)
- 爬虫 (1)
- 搜索引擎 (1)
- NetFPGA (1)
- Directshow (1)
- 小软件 (2)
- FFMPEG (1)
- Windows Socket 网络编程 (5)
- Git (1)
- IntelliJ IDEA (0)
- Plone (1)
- Python (1)
最新评论
-
不要叫我杨过:
受教了,高手
Heritrix架构分析 -
springaop_springmvc:
apache lucene开源框架demo使用实例教程源代码下 ...
Lucene 3.0.2 使用入门 -
zxw961346704:
值得学习的算法
Java 计算器 -
medicine:
Thread.sleep(1000); 会使线程进入 TIM ...
Java.lang.Thread 和 Java.lang.ThreadGroup -
tangzlboy:
嗯,不错!收藏。
Java 入门
1。源文件。
2。 需要的 文件有四个,见附件。
package sender; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetSocketAddress; import java.net.SocketAddress; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Properties; public class UDPSender{ private String filename; private String host; private int port; private int interval=0; private int packetSize = 512; int loop = 0; private Date time = null; private SocketAddress destAddress; private DatagramSocket clientSocket = null; public UDPSender() { Properties properties = new Properties(); try { properties.load(new FileInputStream("configuration.properties")); packetSize = Integer.parseInt(properties.getProperty("packetsize")); host = properties.getProperty("host"); port = Integer.valueOf(properties.getProperty("port")); filename = properties.getProperty("file"); interval = Integer.parseInt(properties.getProperty("interval")); loop = Integer.parseInt(properties.getProperty("loop")); time = parseTime(properties.getProperty("time")); System.out.println( new StringBuilder("sender properties:\n") .append("packet size:").append(packetSize).append("\n") .append("host:").append(host).append("\n") .append("port:").append(port).append("\n") .append("file:").append(filename).append("\n") .append("interval:").append(interval).append("\n") .append("loop:").append(loop).append("\n") .append("time:").append(toStandTimeFormat()).append("\n") .toString() ); destAddress = new InetSocketAddress(host,port); clientSocket = new DatagramSocket(); } catch (FileNotFoundException e1) { e1.printStackTrace(); } catch (IOException e1) { e1.printStackTrace(); } } private String toStandTimeFormat(){ StringBuffer sb = new StringBuffer(); Calendar calendar = Calendar.getInstance(); calendar.setTime(time); sb.append(calendar.get(Calendar.YEAR) + "-"); sb.append((calendar.get((Calendar.MONTH)) + 1) + "-"); sb.append(calendar.get(Calendar.DAY_OF_MONTH) + " "); sb.append(calendar.get(Calendar.HOUR_OF_DAY) + ":"); sb.append(calendar.get(Calendar.MINUTE) + ":"); sb.append(calendar.get(Calendar.SECOND) + ":"); sb.append(calendar.get(Calendar.MILLISECOND)); return sb.toString(); } private Date parseTime(String time){ String regex = "yyyyMMddHHmmssSSS"; Date result = null; try { result = new SimpleDateFormat(regex).parse(time); } catch (ParseException e) { e.printStackTrace(); } return result; } public void send(){ if(loop <= 0){ for(;;){ startSendOneTime(); } }else{ for(int i=0;i<loop;i++){ startSendOneTime(); } } } private void startSendOneTime() { try { File file = new File(filename); System.out.println("file size: " + file.length()); InputStream in = new FileInputStream(file); byte[] buff = new byte[packetSize]; int len; while((len=in.read(buff))>0){ if(clientSocket!=null){ clientSocket.send(new DatagramPacket(buff,0,len,destAddress)); System.out.println("send " + len + "bytes"); } if(interval>0){ Thread.sleep(interval); } } } catch (Exception e) { e.printStackTrace(); return; } } public Date getTime() { return time; } public static void main(String[] args) { UDPSender sender = new UDPSender(); Date time = sender.getTime(); long timeInMills = time.getTime() - System.currentTimeMillis(); if(timeInMills <= 0){ System.out.println("The time you offered has passed..."); try { Thread.sleep(4000); } catch (InterruptedException e) { e.printStackTrace(); } return; }else{ System.out.println("You have " + (timeInMills / 1000) + "s left." ); } for(;;){ if(System.currentTimeMillis() >= time.getTime()){ break; } } sender.send(); } }
2。 需要的 文件有四个,见附件。
发表评论
-
applet 您的安全设置已阻止本地应用程序运行
2013-08-23 19:13 1777控制面板中把JAVA的安全设置调至最低,然后重启浏览器。 -
Failed to create the Java Virtual Machine
2010-10-31 11:14 1329今天启动Eclipse,告诉我“Failed to creat ... -
Java实现的9种排序方法
2010-10-22 14:46 1034详见代码。 package com.java.sort; ... -
Java的System.getProperty()方法可以获取的值
2010-09-29 16:14 915ava的System.getProperty()方法可以获取的 ... -
Java 执行系统文件
2010-09-29 14:59 1016以下两个事例是执行Windows下的命令或者可执行文件。 ... -
Java access control
2010-08-19 18:31 895Java中有4个访问级别(不同于C或者C++的3个)。但规则同 ... -
Java中需要注意的函数
2010-08-17 22:23 1027(持续更新中。。。) ... -
Java面试题
2010-08-08 18:39 845最近在网上看到很多Java ... -
Java 入门
2010-08-06 16:59 1825(转载 IBM DeveloperWorks) ... -
Java中的深拷贝与浅拷贝
2010-08-06 06:32 952在Java中,一个重要的,而且是每个类都有的方法,clone( ... -
Java 容器类
2010-08-06 05:05 849Java功能丰富的集 ... -
java 解惑 1
2010-08-05 22:06 1016_1.java package itepub.net._201 ... -
java5 新特性
2010-08-05 19:31 38261.静态导入方法 package c ... -
Comparator and Comparable in Java
2010-08-05 19:10 9441. java.lang.Comparable java ... -
Java中 synchronize、wait和notify3
2010-08-05 19:07 897package com.java.lang.thread. ... -
Java中 synchronize、wait和notify2
2010-08-05 19:06 1556有一个生产者消费者实例,修改了一下,觉得还行,javaeye上 ... -
Java中 synchronize、wait和notify
2010-08-05 18:53 2323认识Java一段时间了了,到目前为止还没有好好认识一下其中的s ... -
Java中的String类
2010-08-05 18:42 10351. 正像很多人所说的那样,equals 和 == 是完全两个 ...
相关推荐
UDPSender是一款强大的UDP(User Datagram Protocol)测试和压力测试工具,主要针对网络通信性能进行评估。UDP是一种无连接的、不可靠的传输层协议,常用于需要高速传输但对数据完整性要求不高的应用,如在线游戏、...
在UDP Sender中,你可以配置不同的数据包,并通过UDP协议将其发送到目标syslog服务器。这种工具常用于测试网络环境中的syslog服务器接收能力,验证日志传递流程,或者在开发阶段调试syslog兼容性问题。 Syslog协议...
UDPSender发包工具是一款专用于发送数据流到指定服务器的实用程序,主要应用于网络安全测试、网络性能评估以及协议分析等领域。在理解UDPSender的工作原理和应用之前,我们需要先了解UDP(用户 datagram 协议)的...
UDPSender UDP发包工具,支持自动及手动发送,可以进行压力测试等
6. **回声功能**:某些UDP Sender可能具有回声功能,即当接收到响应时,会将这些响应显示出来,这对于调试和测试很有帮助。 7. **可定制性**:用户可能可以根据需求调整各种参数,如TTL(Time To Live)、数据包的...
UDPSender发包器是一款开源的UDP(User Datagram Protocol)数据传输工具,专为网络通信测试和调试设计。它不仅能够发送UDP数据包,还具备接收数据包的功能,使得用户可以全面地测试网络的UDP通信性能。在众多的发包...
UDP sender,通过UDP协议发送信息的软件。
UDPSender是一款基于UDP协议的实用工具,主要用于UDP数据包的发送,它具备自动和手动发送功能,能够进行网络性能的压力测试。 在UDPSender这款工具中,用户可以: 1. **配置目标IP和端口**:在使用UDPSender时,你...
在C#编程中,开发一个能够精确到毫秒的秒表计时器是一个常见的需求,尤其是在性能测试或者游戏开发等场景。本篇文章将详细介绍如何利用C#语言实现这样的功能,并结合给定的“秒表计时”项目进行讨论。 首先,我们...
UDPSenderUDP测试工具
"VB 精确到毫秒的计时器 demo" 是一个专为此目的设计的示例程序,它利用了VB内置的日期和时间功能,实现了对时间间隔的精确测量,精度达到了毫秒级别。 在VB中,我们通常使用 `DateTime.Now` 属性来获取当前的系统...
标题中的“Notepad”通常指的是Windows操作系统中内置的简单文本编辑器,而“UDPSender”则可能是一个用于发送UDP(User Datagram Protocol)数据包的程序。这些元素结合在一起,暗示我们将探讨Java编程语言在创建...
标题中的“udpSender.rar_Ethernet”表明这是一个与以太网和UDP(用户数据报协议)相关的项目,可能是一个软件模块或程序,用于在Spartan3E FPGA(现场可编程门阵列)上实现UDP发送功能。Spartan3E是Xilinx公司的一...
综上所述,"udp sender and receiver_UDP_plenty61q_"是一个关于使用UDP协议在本地进行数据通信的项目,涉及了UDP套接字编程的基本操作,包括创建、绑定、发送和接收数据,以及相关的错误处理和优化策略。...
本项目"UdpSender_0602.tar.gz"显然就是一个使用QT库中的QUdpSocket进行UDP消息发送端的实现。 QUdpSocket是QT网络模块中的一个重要类,它允许我们创建一个UDP套接字来发送和接收数据。在描述中提到的"QUdpSocket...
标题"UDPSENDER.rar_用delphi实现udp传输"表明这是一个使用Delphi编程环境来创建的UDP数据发送程序。Delphi中的网络编程通常基于 Indy 或 Winsock 组件库,这两个库都提供了对UDP协议的支持。 描述中提到“载入数据...
自述文件 ## udpsender 它发送udp数据包用于测试目的。 指定文件的每一行成为数据包的有效负载。 ##用法 它需要GNU Netcat( )软件。 ./udpsender.sh ipaddress端口并发间隔文件 祝您编码愉快!
在这个"UDP-Sender.zip_labview_labview udp"项目中,"点对点和广播通信举例_UDP Sender.vi"是一个基于LabVIEW的UDP发送器实例,用于演示如何使用LabVIEW进行UDP通信,包括点对点(P2P)和广播两种方式。 点对点...
PacketSender,TCPUDP,64BIT