Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ConnectionResetError: [Errno 104] Connection reset by peer #81

Open
unidev10 opened this issue Dec 10, 2019 · 5 comments
Open

ConnectionResetError: [Errno 104] Connection reset by peer #81

unidev10 opened this issue Dec 10, 2019 · 5 comments
Labels

Comments

@unidev10
Copy link

unidev10 commented Dec 10, 2019

After tcp.read_coils() function, when I run the command tcp.send_message() I get the error - ConnectionResetError: [Errno 104] Connection reset by peer.
How can this be solved?
Below is my code attached

import socket
from umodbus import conf
from umodbus.client import tcp
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(('HOST', PORT))
m2=tcp.read_coils(slave_id=1, starting_address=8193, quantity=1)
response = tcp.send_message(m2, sock)

@OrangeTux
Copy link
Collaborator

Hello @unidev10. You seem to want to connect to HOST and there is no Modbus server running there.

My guess is that you need to replace HOST with a valid ip or hostname, like:

 sock.connect(('192.168.1.1', PORT))

@unidev10
Copy link
Author

Hi @OrangeTux, yes I have mentioned the required ip address and the port number in my actual code. It is just for the question, I have replaced the ip address with HOST.

@OrangeTux
Copy link
Collaborator

Super! I'll close the issue now. Feel free to reopen if needed.

@unidev10
Copy link
Author

Hi @OrangeTux, there has been a slight misunderstanding. In my original code, I have written sock.connect(('192.168.0.2', 102)). I am getting the ConnectionResetError for it.

@OrangeTux OrangeTux reopened this Dec 12, 2019
@jaapz
Copy link
Member

jaapz commented Dec 12, 2019

Are you sure a modbus server is running on that IP-address? If so, there's probably something in your network filtering out your connection request, like a firewall of some kind.

The error you get is a more generic error from Python not being able to open a socket. Try to look up ConnectionResetError and under what circumstances Python would raise it.

I don't think this is a problem with uModbus, as uModbus doesn't do any connection handling, that's all done by the socket module from Python.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants