java串口通信丢包】的更多相关文章

java串口通信丢包问题 前段时间公司要求做一个java应用和pos串口通信的工具,调试好了好久每次都是只能接收到一包数据后续的数据都丢失了. 经过修改读写的流的缓存大小亲测都正常代码如下: serialPort.setInputBufferSize(1024);serialPort.setOutputBufferSize(1024);…
序言 说到开源,恐怕非常少有人不挑大指称赞.学生通过开源码学到了知识,程序猿通过开源类库获得了别人的成功经验及可以按时完毕手头的project,商家通过开源软件赚到了钱……,总之是皆大欢喜.然而开源软件或类库的首要缺点就是大多缺乏具体的说明文档和使用的样例,或者就是软件代码随便你用,就是文档,样例和后期服务收钱.这也难怪,毕竟就像某个著名NBA球员说的那样:“我还要养家,所以千万美元下面的合同别找我谈,否则我宁可待业”.是啊,支持开源的人也要养家,收点钱也只是分.要想既不花钱又学到知识就仅仅能借…
前言 说到开源.恐怕非常少有人不挑大指称赞. 学生通过开源码学到了知识,程序猿通过开源类库获得了别人的成功经验及可以按时完毕手头的project,商家通过开源软件赚到了钱……,总之是皆大欢喜. 然而开源软件或类库的首要缺点就是大多缺乏具体的说明文档和使用的样例,或者就是软件代码随便你用.就是文档,样例和后期服务收钱.这也难怪,毕竟就像某个著名NBA球员说的那样:“我还要养家.所以千万美元下面的合同别找我谈.否则我宁可待业”.是啊,支持开源的人也要养家,收点钱也只是分.要想既不花钱又学到知识就仅仅…
背景介绍: 由于第一次用Java与硬件通信,网上查了许多资料,在这进行整理,便于以后学习.本人串口测试是USB串口设备连接电脑,在设备管理器中找到端口名称(也可以通过一些虚拟串口工具模拟). 下面主要简述获取串口消息返回值的一些问题,在最下面将会附上完整代码. 准备工作: RXTX包:mfz-rxtx-2.2-20081207-win-x64.zip,解压,RXTXcomm.jar加入项目依赖库里,rxtxParallel.dll和rxtxSerial.dll放入jdk的bin目录下(我使用的j…
今天在公司问老大,公司的项目底层,是使用的TCP,因为可靠,自动断线重连,在底层都实现了,但是我记得TCP也会有掉包的问题,所以这文章就诞生了——关于TCP掉包的问题,TCP是基于不可靠的网络实现可靠的传输,肯定也会存在掉包的情况.     如果通信中发现缺少数据或者丢包,那么,最大的可能在于程序发送的过程或者接收的过程出现问题.     例如服务器给客户端发大量数据,Send的频率很高,那么就有可能在Send时发生错误(原因可能是又多种,可能是程序处理逻辑问题,多线程同步问题,缓冲区溢出问题等…
在Windows系统下,用Java开发串口通信相关的程序时,需要用到几个文件. (1)win32com.dll 要放在jdk\jre\bin目录下. (2)comm.jar 和javax.comm.properties要放在jdk\jre\lib目录下. 下面是如何使用SerialPort的Demo: /* * To change this license header, choose License Headers in Project Properties. * To change this…
下面是我自己实现的串口接收的类,串口发送比较简单,就直接发送就可以了.下面的这个类可以直接使用. package com.boomdts.weather_monitor.util; import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.*; import javax.comm.*; import com.boomdts.weather_monitor.biz.RecvCommand; impo…
最近帮老师做了一个小项目,一个牧场公司想用传感器收集一些环境信息,记录到数据库里去,然后加以分析查看.这里面和传感器通信用到了串口通信,我也是接触了一下,把用到的东西分享出来. 准备工作: RXTX:封装了Java对串口操作的类库,具体的话大家自己百度一下吧. 资源地址:http://pan.baidu.com/s/1nuLZex7 密码 m358 VSPD(Virtual Serial Port Driver):可以建立两个虚拟的串口,我们用这两个虚拟串口模拟测试. 资源地址:http://p…
1.下载64位rxtx for java 链接:http://fizzed.com/oss/rxtx-for-java 2.下载下来的包解压后按照说明放到JAVA_HOME即JAVA的安装路径下面去 3.在maven的pom.xml下添加 <dependency> <groupId>org.rxtx</groupId> <artifactId>rxtx</artifactId> <version>2.1.7</version&g…
本篇内容参考转载自https://blog.csdn.net/kong_gu_you_lan/article/details/80589859 环境搭建 下载地址:http://fizzed.com/oss/rxtx-for-java 注意根据你的电脑选择相应的下载包,我的电脑是64位Windows 下载好后把目录中的rxtxParallel.dll和rxtxSerial.dll拷贝到 JAVA_HOME\jre\bin RXTXcomm.jar加入工程即可. 基础使用 public class…
说一下我的操作过程吧 在Windows上先用阿猫串口网络调试助手,进行调试: 在网上找Java代码,我选择的是RXTXcomm,网上代码很多,基本都一样. 在Windows电脑上把rxtx压缩包中的rxtxSerial.dll(与当前系统对应)放入jdk1.8.0_221\jre\bin目录中(事实上放在项目启动时能加载到的地方都可以) 程序中使用COM1串口,9600波特率可以运行. 然后到了Ubuntu,Ubuntu上的串口不叫COM1,而是叫tty*.直接用串口的话叫/dev/ttyS*,…
http://blog.csdn.net/kabini/article/details/1601324 ——————————————————————————————————————————————————————…
最近一门课要求编写一个上位机串口通信工具,我基于Java编写了一个带有图形界面的简单串口通信工具,下面详述一下过程,供大家参考 ^_^ 一: 首先,你需要下载一个额外的支持Java串口通信操作的jar包,由于java.comm比较老了,而且不支持64位系统,这里推荐Rxtx这个jar包(32位/64位均支持). 官方下载地址:http://fizzed.com/oss/rxtx-for-java (注:可能需要FQ才能下载) 不能FQ的童鞋,可以在这里下载: http://files.cnblo…
用Java实现串口通信(windows系统下),须要用到sun提供的串口包 javacomm20-win32.zip.当中要用到三个文件,配置例如以下: 1.comm.jar放置到 JAVA_HOME/jre/lib/ext; 2.win32com.dll放置到 JAVA_HOME/bin; 3.javax.comm.properties 两个地方都要放 jre/lib(也就是在JAVA目录下的jre) JAVA_HOME/jre/lib 说一下我应用的环境.电子秤称重时,计算机通过串口给称重控…
原文作者:aircraft 原文地址:https://www.cnblogs.com/DOMLX/p/9490616.html 本文用的是VS2013MFC写串口数据接收: 第一步:首先建立一个MFC工程,成功后会跳出一个对话框,直接在对话框上点击右键->点击插入ACTIVAE控件->选择MicrosoftCommunications Control, version 6.0 成功后会显示一个电话的图标在对话框上,运行起来不会显示的 不用担心这个美观问题.如果没有这个插件的话,可能是版本太低 …
此文较长,建议收藏起来看. 一.一个典型的IP通信模型 二.Server2Server技术分类 Server2Server这块也是一个专门的领域,这里只简单分个类. 1.同一国家相同运营商之间: 同一运营商之间也有丢包,在铁通,鹏博士等运营商中尤甚.并且在晚高峰的时候表现更加突出. 2.同一国家不同运营商之间: 在很多时候,由于运营商之间的结算和有限带宽的问题.运营商之间的网络不稳定. 3.不同国家之间: 同一个国家都这么多问题,不同国家的问题回更复杂,在不同的国家要选择好的机房,实时选择实时监…
关于java实现的串口通信,使用的是开源项目RXTX,之前sun公司也有JCL项目,不过已经很久没有更新了,RXTX项目地址:点击打开,但是两个项目的API用法是一样的,只是导入的包不一样而已.简单的入门可以参照官方的wiki. 对应你的开发环境(Linux.window.Mac)下载对应的文件(下载地址),这里说下具体的安装方法,官方给的有点啰嗦,在Eclipse下使用,下载后里面的文件: RXTXcomm.jar包放到你项目的lib文件夹下,Java Builder Path---->Add…
最近项目有一个空气检测仪,需要得到空气检测仪的实时数据,保存到数据库当中.根据了解得到,硬件是通过rs485进行串口通讯的,需要发送16进制命令给仪器,然后通过轮询来得到数据. 需要先要下载RXTX的jar包,win64位下载地址:http://pan.baidu.com/s/1o6zLmTc):将解压后的rxtxParallel.dll和rxtxSerial.dll两个文件放在%JAVA_HOME%/jre/bin目录下,这样该包才能被正常的加载和调用. 代码如下: package com.g…
前言 前段时间赶项目的过程中,遇到一个调用RS485串口通信的需求,赶完项目因为楼主处理私事,没来得及完成文章的更新,现在终于可以整理一下当时的demo,记录下来. 首先说一下大概需求:这个项目是机器视觉方面的,AI算法通过摄像头视频流检测画面中的目标事件,比如:火焰.烟雾.人员离岗.吸烟.打手机.车辆超速等,检测到目标事件后上传检测结果到后台系统, 后台系统存储检测结果并推送结果到前端,这里用的是SpringBoot整合WebSocket实现前后端互推消息,感兴趣的同学可以看一看,大家多交流.…
try { //向指定的ip和端口发送数据~! //先说明一下数据是谁发送过来的! byte[] ip = InetAddress.getLocalHost().getHostAddress().getBytes(); dp = new DatagramPacket(ip, ip.length, sendIAD, QQReceive.getPort()); ds.send(dp); //这里主要是因为多可数据报包发送时会产生丢包的情况...所以暂停一段时间! try { Thread.sleep…
转自:http://blog.csdn.net/blade2001/article/details/9094709 在IP视频通话中,即使是在丢包率很小的情况下也会对使用效果造成较为明显的影响.正是由于这个原因,自从上世纪九十年代中后期IP视频会议技术出现以来,在“有损耗”的IP网络上成功召开视频会议的能力一直是一项挑战.近年来,随着低成本,共享式的网络线路的普遍采用(如DSL,有线,卫星,LAN和WAN,公共互联网等)以及使用更高通话带宽(通常需要支持更高的视频分辨率)则使这一问题显得更为突出…
现象 Mqtt Consumer应该收到的消息少于预期,登录ActiveMQ的管理页面里的Topics,查看Messages Enqueued发现同样少于理应接收的数量. 定位问题 怀疑是TCP丢包,通过netstat -s命令观察发送消息前后Tcp信息的输出 对比两次Tcp信息的输出,发现packets pruned from receive queue because of socket buffer overrun与packets collapsed in receive queue du…
前几天做毕业设计,其中要用到串口和下位机进行通信,于是自己捣鼓了一个简单的串口通信程序. 在做通信之前要先弄一个SerialPort组件出来,当然也可以通过程序来创建.本次设计中采用的是拖的winform中提供的组件,效果是一样的.不过要使程序正确的运行起来,电脑上要安装一个pl232的驱动,安装完成后,还必须要插入一根串口线才行,或者是USB转串口的线也可以. SerialPort有很多的属性和方法,但是在我做的这个简单的串口通信中用到的属性和方法很少,可以讲VS调出来看看有哪些属性和方法,有…
友善之臂的Android系统有他们自己编写的一个串口通信程序,网上没有找到他的源代码,而且界面操作不在一个界面,不是很方便,这里我自己写了一个粗糙点的串口通信程序. 同样这里还是调用友善之臂的friendlyarm-hardware.so库文件. 在Android工程文件下面加入com.friendlyarm.androidSDK包,在其下添加HardwareControler.java.下面我把我做的截图发上来.                                        …
一:串口通信简介 由于串口开发涉及到jni,所以开发环境需要支持ndk开发,如果未配置ndk配置的朋友,或者对jni不熟悉的朋友,请查看上一篇文章,android 串口开发第一篇:搭建ndk开发环境以及第一个jni调用程序,串口通信和java操作io类似,先打开串口,然后向串口发送或者读取数据,最后关闭串口,所以基本思路就是: 1.对串口文件进行配置(波特率等),选择串口文件,打开串口,设备不同 ,可以读写的串口也不同. 2.读写串口 ,读串口需要开一个子线程,然后死循环读取串口发送的数据 3.…
C#中缓存的使用   缓存的概念及优缺点在这里就不多做介绍,主要介绍一下使用的方法. 1.在ASP.NET中页面缓存的使用方法简单,只需要在aspx页的顶部加上一句声明即可:  <%@ OutputCache Duration="100" VaryByParam="none" %> Duration:缓存时间(秒为单位),必填属性 2.使用微软自带的类库System.Web.Caching 新手接触的话不建议直接使用微软提供的类库,因为这样对理解不够深刻…
最近公司项目上线,之前利用串口通讯实现校牌的无感知签到程序, 项目上线以后刚刚好有时间把之前的出现的问题做下记录,废话不多,直接到主题 串口介绍: 串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口.(至于再详细,自己百度) 正文: 最近在公司让用C#写一个串口通讯程序,下面我将这次遇到的问题和解决方法奉献出来,希望对工作中需要的朋友有所帮助! 我们来看具体的实现步骤. 公司要求实现以下几个功能: 1.)启动程序打开串口通信,接受嵌入式校牌发送过来…
前段时间因为工作需要研究了一下android的串口通信,网上有很多讲串口通信的文章,我在做的时候也参考了很多文章,现在就将我学习过程中的一些心得分享给大家,希望可以帮助大家在学习的时候少走一些弯路,有的地方可能我的理解有偏差,也请大家见谅. 网上讲的很多案例都是基于手机端的串口通信Demo,但是在实际开发过程中,串口通信主要用于开发板应用的开发,即不是我们常见的手机android应用,而基于开发板的开发和手机应用开发还是有区别的,我在这里就不赘述二者的区别了,因为我们今天讲的重点是串口通信的实现…
普通IO口模拟串口通信 串口通信协议 串口传输 默认 波特率9600 1起始位 1停止位 其他0 数据位是8位(注意图上的给错了). 传输时,从起始位开始,从一个数据的低位(LSB)开始发送,如图从左向右的顺序,对电平拉高或拉低,最后停止位时拉高. 波特率大小,改变延时时间即可.例如9600 波特率    根据公式 : 1/9600=0.000104s(大致) 也就是说每发送1bit延时104us (下面我用9600波特率来说,代码用的是19200) 串口发送       将电平拉低 延时104…
最近笔者接触到串口编程,网上搜了些资料,顺便整理一下.网上都在推荐使用Java RXTX开源类库,它提供了Windows.Linux等不同操作系统下的串口和并口通信实现,遵循GNU LGPL协议.看起来不错,写个例子试试. 准备运行环境 下载RXTX RXTX下载地址是:http://fizzed.com/oss/rxtx-for-java 笔者操作系统是Windows10,下载对应版本的压缩包,解压后复制RXTXcomm.jar到D:\Program Files\Java\jdk1.8.0_1…