在Android程序中使用Modbus协议时报 java.net.SocketException: recvfrom failed: ECONNRESET解决办法
2014-07-30 17:26
666 查看
最近在开发基本Modbus协议的Android端PLC控制程序,C#版程序没有任何问题,移到JAVA下出现各种问题,其中比较苦恼的是java.net.SocketException: recvfrom failed: ECONNRESET错误。
开始我的解决方法是每次向PLC发送一条数据后关掉socket,但是这样做太极端了。
经过分析发现是由于发送的数据包大小我设定为256,当写入1个寄存器值时,Modbus服务端直接报错,关掉了socket连接,将发送的数据包大小改成实际的大小后解决问题。
(C#版程序也设定为256,无此现象)
相关文章推荐
- Android网络请求报错:java.net.SocketException: recvfrom failed: ECONNRESET (Connection reset by peer)
- 使用Mob短信验证出现 java.net.SocketException: recvfrom failed: ECONNRESET (Connection reset by peer)异常
- 【Java】 java.net.SocketException: recvfrom failed: ECONNRESET
- java.net.SocketException: recvfrom failed: ECONNRESET
- java.net.SocketException: recvfrom failed: ECONNRESET (Connection reset by peer)
- java.net.SocketException: recvfrom failed: ECONNRESET (Connection reset by peer)
- Java使用HttpURLConnection请求异常:java.net.SocketException: Software caused connection abort: recv failed
- java.net.SocketException: recvfrom failed: ECONNRESET (Connection reset by peer)我的解决办法
- 迷糊的IOException:Java.NET.SocketException: recvfrom failed: ECONNRESET (Connection reset by peer)
- java.net.SocketException: recvfrom failed: ECONNRESET (Connection reset by peer)
- Android:使用Socket网络通信时异常:java.net.SocketException: socket closed
- HttpUrlConnection java.net.SocketException: Software caused connection abort: recv failed
- android socket变成中出现java.net.SocketException:socket failed:EACCES(Permission denied)的错误
- Android http java.net.SocketException: sendto failed: EPIPE 解决方案
- Android程序安装时报出,java.net.ConnectException:(port 80)after 5000ms: isConnected failed: ECONNREFUSED
- Android上传文件 报java.net.SocketException: sendto failed: EPIPE (Broken pipe)
- java.net.SocketException: Software caused connection abort: recv failed 异常分析
- 【Android】【报错】java.net.SocketException: socket failed: EACCES (Permission denied)
- java.net.SocketException:Software caused connection abort: recv failed 异常分析
- java.net.SocketException: Software caused connection abort: recv failed