
socket通讯专栏
文章平均质量分 66
socket实现串口、can口通讯,以及聊天室
qq_37591637
2018/9/19开通博客,遇事录
展开
-
多条件检索功能的实现
package cn.com.servlet;import java.io.IOException;import java.net.URLDecoder;import java.net.URLEncoder;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import ...原创 2018-09-20 14:30:34 · 2904 阅读 · 0 评论 -
socket in.read()阻塞怎么办
我们在读取输入流的数据的时候,如果没有数据的话,系统就会一直in.read()直到有数据,不然就阻塞在那里。在日常开发中,是绝对不允许这样的。以下是我亲自实践的成功demonpackage cn.com.lf;import java.io.IOException;import java.io.InputStream;import java.net.ServerSocket;im...原创 2018-09-20 14:33:37 · 2507 阅读 · 0 评论 -
java Socket通信与多线程的关系
项目背景:矿山的定位系统矿工下井时,经过基站,程序要及时、准确的采集位置信息,不遗漏任何信息。第一个实验:一个基站、15个手卡,在2分钟以内接受15个手卡的全部信息,录入数据库中,耗时越短越好;因为矿工不可能在井口停留的。涉及知识;多线程、socket、sql批处理缺陷:耗时长,需要改进;误区:虽然一个基站,但是手卡多个,需要多个连接,涉及多线程;java代码package cn....原创 2018-10-02 09:34:31 · 2517 阅读 · 1 评论 -
java socket 通讯和多线程结合的实例
背景:矿山定位系统实验器材:一个基站,15个手卡运用知识点:sql批处理、socket通信、多线程实验结果:缺陷:耗时长,15个手卡大约接受8个左右;代码如下:package cn.com.project;import java.io.IOException;import java.io.InputStream;import java.net.ServerSocket;...原创 2018-10-02 09:43:00 · 4839 阅读 · 1 评论 -
java Socket通信 一个服务器接受多个客户端的通讯实例
实验要求:1.一个时间点,无论哪个基站有数据发送,服务器必须同时接收。不能延迟等待这个客户端接收完毕再接收另一个客户端;2.客户端不能关闭,一直连接,以防数据遗漏知识点:多线程 同时开启多个任务,不用按照程序的执行顺序来;基本的代码如下:package cn.com.project;import java.io.IOException;import java.io.InputStr...原创 2018-10-02 10:28:48 · 6783 阅读 · 6 评论 -
java.net.SocketException: Software caused connection abort: recv failed
报错信息如下java.net.SocketException: Software caused connection abort: recv failed at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.ja...原创 2018-11-02 13:43:24 · 4817 阅读 · 0 评论 -
用java来实现接收传感器里面的温湿度、各种气体、大气压
之前主要依靠公司里面一个同事用vb编的程序,因为我不知道crc校验是怎么出来的,为了赶项目用了vb,然后用java 调用数据库里面的数据;但是一个项目应该统一语言的;我需要接受如下传感器信息传感器(-130米主通风井) 192.168.16.128(6041) 设备名称 设备地址(modbus) jsp页面的编号 风速传感器 6 0 S02 4...原创 2018-11-02 14:33:48 · 14726 阅读 · 5 评论 -
The method getInstance() is undefined for the type Service
总结一下关于类似这种问题:1、导错包了,本来导入第二个包,你却导入了第一个包。这种错误的话,编辑器会提示你,MapUtils cannot be resolved解决方案:修改包即可。2、在项目中导入了这个jar包,但该版本jar包不支持这个方法或者是版本过低了。 解决方案:查看一下当前导入jar,是否支持这个方法。若不支持这个方...原创 2019-01-05 13:36:33 · 6076 阅读 · 0 评论 -
java.net.SocketException: Software caused connection abort: socket write error
原因:socket没有服务器连接解决方案:在out = socket.getOutputStream(); out.write(bye); out.flush();这段代码之前加一句socket.accpet()就好了!总结:无论是发送还是接受数据,socket都要先建立连接,不然会包写入错误...原创 2019-01-22 08:39:00 · 6088 阅读 · 0 评论 -
java socket编程之实现客户端和服务器通讯一问一答
环境1、一台电脑2、开启两个myeclipse进行通信通讯思路1、客户端使用socket,绑定服务器的IP地址和端口号就可以连接服务器2、客户端可以通过socket的输入流输出流方法对服务器进行读取和写入3、服务器使用ServerSocket,开始监听,server.accept(); 这个方法是阻塞的,只有有客户端连接上,才会往下执行4、server.acc...原创 2019-04-11 08:39:22 · 4348 阅读 · 1 评论 -
java.net.SocketException: Connection reset
问题说明每次测试客户端和服务器通讯功能以后,肯定要关闭一方程序,一关闭一方的程序就报错!我属于人为关闭,我知道关闭了会报错,但是我想关闭以后不报这个错误解决方案在客户端和服务器的代码里面只要涉及到会报错/抛出IOException异常的catch块里面添加如下代码,关闭socket,就可以了...原创 2019-04-11 11:14:31 · 4320 阅读 · 0 评论 -
java+websocket实现网页聊天室
核心技术websocket前提1、tocmat7.02版本以上2、浏览器支持websocket通讯3、这个是html5的功能客户端和服务器建立连接jsp/html页面1、浏览器和后台服务器要通信,首先是url通俗易懂的格式如下 "ws://localhost:8080/项目名/请求名"如果要携带参数的话, "ws://localhost:8080/...原创 2019-04-18 20:12:03 · 6120 阅读 · 2 评论 -
The WebSocket session [1] has been closed and no method (apart from close())
错误背景websocket网页聊天+java后台服务器主要原因在建立连接存储对象信息的时候保存了用户ID,在断开连接时移除当前对象失败解决方案在页面上设置一个按钮,是结束咨询的按钮 <button type="button" class="btn btn-success" id="closechat">结束咨询</button>在w...原创 2019-04-19 14:28:50 · 6579 阅读 · 0 评论 -
java.net.SocketException: Software caused connection abort: socket write error
一般是在浏览器和后台服务器连接的情况下,突然刷新页面,或者是去了其他页面,再进入这个页面错误原因当前线程还没有关闭,就再次连接了解决方案在关闭和发生错误的时候,把session连接从map中去掉并且把这个session线程关闭掉...原创 2019-04-21 10:28:13 · 20156 阅读 · 0 评论 -
vue项目+java后台实现在线聊天功能(客服)
效果如下图所示 关键代码如下完整的代码在这里https://download.csdn.net/download/qq_37591637/11185506原创 2019-05-17 18:26:32 · 9113 阅读 · 4 评论 -
netty框架+绑定多个端口+接受canbus信号 矿山定位系统最终版本
背景1、hibernate框架操作数据库2、netty框架接受数据(非阻塞)3、绑定多个端口存储在数据库里面的数据如下 关键代码在这里package cn.com.service;import io.netty.bootstrap.ServerBootstrap;import io.netty.channel.ChannelFuture;import ...原创 2019-07-01 12:45:57 · 2005 阅读 · 0 评论 -
CANalyst-II 创芯科技分析仪的使用与接收发送数据的操作
1、使用usb线连接分析仪和电脑(冬瓜山-角速度测试)1.1、一端插在电脑上面1.2、另一端连接测试的单片机软件2、安装驱动,或者使用驱动人生安装3、下载USB-CAN Tool V1.874、设备操作:打开设备(如果提示打开失败,注意是不是驱动没装对或压根没有安装驱动),设置波特率然后坐等接收数据;绿色是接收,红色是发送数据,我只需要接收就可以了;...原创 2019-07-15 10:16:28 · 18038 阅读 · 9 评论 -
modscan32做主站 一直显示MODBUS MESSAGE TIME-OUT
背景描述1、modsim做modbus设备从站2、modcan做modbus设备主站3、valid slave responses:0 也就是没有收到数据4、modbus message time out解决方案建议用modbus poll与modbus slave两个软件来做主从站测试,modscan不适合做这个,存在缺陷;...原创 2019-08-08 10:44:56 · 15869 阅读 · 0 评论 -
modbus poll与modbus slave做modbus设备主从站详细教程
1、下载两个软件modbus poll与modbus slave 地址在https://download.csdn.net/download/qq_37591637/115008862、我是根据网管软件来设置rs485设备是客户端模式 192.168.16.8是我电脑本机(服务器)的ip地址 8999就是服务器的端口,也就是本机的端口modbus pol...原创 2019-08-08 11:18:31 · 21395 阅读 · 2 评论 -
单字节 双字节 四字节到底是什么东西
申明:以下是我的个人理解,不是复制概念,如果想知道概念去百度首先要知道什么是比特?计算机存储是按照二进制0或者1来存储的;比特就是一个信息量存储的单位01是2个比特010011是6个比特10111101101是11个比特一个字节等于8比特;单字节:就是8比特;0100 0011 (0-255)双字节:就是16比特;011010110001 0111 ...原创 2019-08-08 11:32:11 · 7458 阅读 · 0 评论 -
寄存器地址rs485设备地址的区别
rs485设备地址是可以更改的,设备的代指,等同于,你去银行拿号办理业务一样,柜台叫号,这个号就是你的代指;寄存器地址:寄存器在内存上面,暂时存储数据 地址 指令的;寄存器本身有地址也称之为内存地址;寄存器的地址是不能改变的,他时控制系统内核潜制进去的,用户只用使用权,不可更改...原创 2019-08-09 15:49:31 · 8547 阅读 · 0 评论 -
java.io.IOException: 远程主机强迫关闭了一个现有的连接
摆脱烦恼最有效的是慢思考,为什么和我想的不一样,出入在哪里,什么导致的?疑惑 我使用netty框架接受数据,每隔半个小时存储数据,运行不到三个小时报错 java.io.IOException: 远程主机强迫关闭了一个现有的连接 java.io.IOException: 远程主机强迫关闭了一个现有的连接。 at sun.nio.ch.SocketDispat...原创 2019-10-09 14:55:11 · 34661 阅读 · 1 评论 -
netty框架之bootstrap.group(bossGroup, workerGroup),究竟有什么用?在线解开迷惑
我们所困惑的是自己自大导致的疑惑代码: bootstrap.group(bossGroup, workerGroup) ; 1、这个代码是不是就是初始化两个线程,线程已经开启了?解惑:是初始化两个线程,一个线程负责接受新的连接,一个负责处理读写;是开启了;2、bossGroup线程初始化以后再干嘛?解惑:bossGroup线程的机制是多路复用,虽然是一个线程但是可以监...原创 2019-10-10 10:09:30 · 4569 阅读 · 3 评论 -
netty框架如何绑定多个端口,以下两种方式应该是哪一种?
旨在发现思路漏洞,培养缜密思维。以下有两个代码片段,哪一个才是正确的?第一种:手动开启线程第二种:bootstrap启动类绑定多个解惑:第二种,因为bossGroup是多路复用机制,一个线程可以接受多个客户端的连接的,如果是第一种的话,netty框架的优势何在!延伸:你觉得方案一需要为一个类开启线程么?不需要,开线程的目的是为了同步监听两个端口,现在netty框...原创 2019-10-10 11:28:14 · 5157 阅读 · 1 评论 -
netty框架中 bossGroup与workGroup是一个还是两个Reactor
为什么会失败,为什么会犯错,如果你的想法是正确的,为什么经不起测试呢?多路复用Selector也是Reactor;疑惑观点一、bossGroup是负责接收请求,workGroup负责处理请求,两个合起来是一个Reactor;观点二、bossGroup与workGroup都是一个独立的Reactor;理由:bossGroup负责接收连接,为每一个连接创建从线程,不仅接收也...原创 2019-10-10 12:03:01 · 6056 阅读 · 0 评论 -
netty框架之bootstrap.bind(port).sync()无死角解刨
疑惑bootstrap.bind(port)是绑定端口 .channel(NioServerSocketChannel.class)是负责监听的,为什么是先监听代码后绑定代码呢解惑:不是的,.channel(NioServerSocketChannel.class)是通道标识,这个代码是客户端还是服务器 bootstrap.bind(port)也是boot...原创 2019-10-10 16:03:58 · 8683 阅读 · 3 评论 -
netty框架之 f.channel().closeFuture().sync();怎么理解
你所不能理解的部分,别人也会畏惧困难而放弃的,思考的深入决定阶层的高度;疑惑关闭closeFuture()究竟关闭的是什么?是每次读写操作以后关闭socketChannel么,可是关闭了,不是还有建立连接么?到底关闭的是什么?解惑关闭的是所有的channel,如客户端的SocketChannel与服务器的Channel;什么时候关闭,当客户端不再与服务器连接;如QQ,有...原创 2019-10-12 11:55:45 · 8299 阅读 · 0 评论 -
netty框架报错 java.io.IOException: 远程主机强迫关闭了一个现有的连接。
不断的推翻,不断的质问,才能最贴近事实报错信息如下java.io.IOException: 远程主机强迫关闭了一个现有的连接。 at sun.nio.ch.SocketDispatcher.read0(Native Method) at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) at sun...原创 2019-10-16 13:33:01 · 10026 阅读 · 0 评论