我刚开始学习Python中的Socket库。我正在学习一个教程,但在最初的一个例子中,当我尝试运行它时会出现错误。
import socket # Import socket module
s = socket.socket() # Create a socket object
host = socket.gethostname() # Get local machine name
port = 12345 # Reserve a port for your service.
s.connect((host, port))
print(s.recv(1024))
s.close
起初我是手工编写的,但是在经过多次审核后收到错误消息后,我直接将文本复制到Python中并运行它。但由于某种原因,我仍然得到这个错误。
Traceback (most recent call last):
File "C:\Users\elikerr\Documents\socketFirstServer.py", line 7, in <module>
s.connect((host, port))
ConnectionRefusedError: [WinError 10061] No connection could be made because the target machine actively refused it
有人可以详细说明出了什么问题。 这是我跟随的tutorial。 我已经检查了Stack Exchange上的一些答案,但是他们似乎都没有回答我的问题,或者,如果他们这样做,我对套接字知之甚少,不知道我在寻找什么。
答案 0 :(得分:1)
由于您只发布了客户端代码,我将假设您在设置服务器之前编写了客户端。
您需要将以下代码放在文件(server.py)中并运行它。
run
现在验证服务器是否正在运行:
#!/usr/bin/python # This is server.py file
import socket # Import socket module
s = socket.socket() # Create a socket object
host = socket.gethostname() # Get local machine name
port = 12345 # Reserve a port for your service.
s.bind((host, port)) # Bind to the port
s.listen(5) # Now wait for client connection.
while True:
c, addr = s.accept() # Establish connection with client.
print 'Got connection from', addr
c.send(b'Thank you for connecting') # Send bytes
c.close() # Close the connection
现在使用您发布的确切代码,一切都应该正常工作。