模拟10辆车载板卡发送数据

模拟10辆车载板卡发送数据,通信端口: 11111

链接:https://pan.baidu.com/s/1ZhjMZ4FmNtGJo0CItCHltw
提取码:nkz7
复制这段内容后打开百度网盘手机App,操作更方便哦

import java.io.IOException;
import java.net.InetAddress;

public class UDP_Client {  

    public static void main(String args[])throws IOException, InterruptedException{
    InetAddress loc = InetAddress.getLocalHost();
                Thread thread[] = new Thread[100];
                for(int i = 0; i < 10; i++){
                    TestRunnable testRunnable = new TestRunnable();
                    testRunnable.setTries(i);
                    testRunnable.setLoc(loc);
                    thread[i] = new Thread(testRunnable);
                    thread[i].start();
                }

    }
}
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.text.DecimalFormat;

public class TestRunnable implements Runnable {

        int tries = 0;                            //重发数据的次数
        public void setTries(int tries) {
            this.tries = tries;
        }
        InetAddress loc;
        public void setLoc(InetAddress loc) {
            this.loc = loc;
        }
        private static final int TIMEOUT = 5000;  //设置接收数据的超时时间
        DatagramSocket ds = null;

        int test_nums = 0;
        int ProtoCnt = 0;
        DecimalFormat df=new DecimalFormat("0000");
      //数据发向本地7777端口
      //客户端在9000端口监听接收到的数据
        public void run() {
            try {

                ds = new DatagramSocket(8000 + tries);
                ds.setSoTimeout(TIMEOUT);              //设置接收数据时阻塞的最长时间
                while(true){
                    if(200 == test_nums){
                        test_nums = 0;
                    } else {
                        test_nums++;
                    }
                    String str_end = "Try cnt "+tries + ", Processors " + Runtime.getRuntime().availableProcessors()+"\r\n";
                    System.out.println(str_end);
                    if(0 == test_nums % 2){
                        ProtoCnt++;
                    }
                    String df_ProtoCnt=df.format(ProtoCnt);
                    String df_tries=df.format(tries);
                    String textdata = "test data message is sending...";
                    //监控板状态信息 begin
                   //System.out.println(socketmib.toString());
                   //String str_end=socketmib.toString();
                    //DatagramPacket dp_end =new DatagramPacket(socketmib.toByteArray(),socketmib.toByteArray().length,loc,11111);
                    DatagramPacket dp_end =new DatagramPacket(textdata.getBytes(),textdata.length(),InetAddress.getByName("10.18.60.172"),11111);
                    ds.send(dp_end);
                    Thread.sleep(500);
                }
                //tries=0;
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } finally {
                ds.close();
            }

        }
}

原文地址:https://blog.51cto.com/zhaoanan/2400035

时间: 2024-11-25 04:19:14

模拟10辆车载板卡发送数据的相关文章

用IO模拟串口协议发送数据

<pre name="code" class="cpp">//文件usend.h #ifndef _USEND_H_ #define _USEND_H_ //====红外接收相关定义============================= #define PuTx_High (P_uTx = 1) //数据高 #define PuTx_Low (P_uTx = 0) //数据低 #define V_SendDatNum 6//6 //发送数据字节数 /

VC模拟发送数据包-百度关键词查找

VC模拟发送数据包-百度关键词查找 逗比汪星人2009-09-06上传 VC模拟发送数据包-百度关键词abcdef查找 详情 http://blog.csdn.net/wangningyu http://download.csdn.net/detail/wangningyu/1637723

Qt模拟串口-tcp连接发送数据

上一节已经基本上完成了qt界面的基本布局,下面就是后台数据的发送和接收了, 前面说了,qt和uc/os 交互使用的方式是tcp 为啥要用tcp,而不使用别的呢, udp:按道理udp是最好的,不用连接,想发就发,不用管端口.但是,qt这个鬼,他封装的udp函数不支持服务器下发数据,也就是udp的服务器不能下发数据,只能接收. 串口:既然是串口通讯,为啥不直接用串口呢.c语言对串口的支持太差了, 很不好用,qt到还好,找个插件就能完成, 所以最后就采用了tcp的传输方式,既可以收发,也可以同时对应

Microsoft Azure IoT Hub应用 – 第一部分:向云端发送数据

By Toradex Leonardo Graboski Veiga 1). 简介 物联网(Internet of Things)概念的本质其实就是关于发送数据到网络,所以称为云服务.随着时代发展和技术进步,人们可以使用尺寸更小功耗更低的电子设备并很容易的连接到云端,不过有一个问题却始终困扰着电子工程师们:如何使用这些获取的数据?而这正是物联网的主题. 在Microsoft主页上面有一些实际的应用例子来展示IoT的应用:一个电梯公司通过物联网来改善并提供预先维护:一个工业自动化公司通过物联网深入

介绍一款chrom浏览器插件 DHC是一款使用chrome模拟REST客户端向服务器发送测试数据的谷歌浏览器插件

先打个小广告哈 公司招java架构师,月薪25K以上,负责电商平台架构工作,工作地点在北京 1号线永安里站 附近,如有意向 请把简历发我邮箱[email protected] 可以内部推荐. DHC是一款使用chrome模拟REST客户端向服务器发送测试数据的谷歌浏览器插件. DHC的开发背景 在web开发中,服务器端和客户端的开发和测试必不可少,但是测试的工作往往需要服务器端完成之后,客户端才能进行测试,这无疑延后了测试流程,导致服务器端开发完成后,无法进行充分的数据测试,很容易造成服务器端和

Java基础知识强化之网络编程笔记06:TCP之TCP协议发送数据 和 接收数据

1. TCP协议发送数据 和 接收数据 TCP协议接收数据:• 创建接收端的Socket对象• 监听客户端连接.返回一个对应的Socket对象• 获取输入流,读取数据显示在控制台• 释放资源 TCP协议发送数据: • 创建发送端的Socket对象• 这一步如果成功,就说明连接已经建立成功了.• 获取输出流,写数据• 释放资源 2. 代码实现: (1)发送端: 1 package cn.itcast_06; 2 3 import java.io.IOException; 4 import java

串口发送数据——字符串发送与十六进制发送的区别

转自:http://blog.csdn.net/wityy/article/details/8234739 串口发送数据——字符串发送与十六进制发送的区别 在使用串口发送数据时可以选择字符串发送或者十六进制发送,通常情况下我们习惯选用字符串发送数据.关于两者的区别,需要从计算机存储数据的格式说起. 在计算机中,数据是以二进制的形式存储的,例如十进制 1(10)在计算机中用 0000 0001(2)来表示.我们在用串口发送数据的时候首先将待数据转换为对应的ASCII码,然后再将这些ASCII码按照

Android,使用Json发送数据中,使用的Java转义字符 KanKan原创

kankan原创 与php后台发送数据的时候.要求用到这样的格式. private void sendJson(){ //初始化自己定义的handler CashHandler handler = new CashHandler(this); //请求主地址.写在自己定义Application中了,后面是接口名字 String url = MApplication.get().getAppServiceUrl() + "order/submit"; //自己定义的发送请求方法 LReq

node中一个基本的HTTP客户端向本地的HTTP服务器发送数据

上一篇讲到了node可以轻松的向其他请求数据. 这一篇就来讲讲向本地服务器的数据交互. HTTP服务器代码,s.js 1 var http=require("http"); 2 var server=http.createServer(function(req,res){ 3 if(req.url!=="/favicon.ico"){ 4 req.on("data",function(data){ 5 console.log("服务器接