问题描述
我正在尝试在使用套接字的同时将自己与2个python小程序连接起来。 第一个程序:
#server.py
import socket
server = socket.socket(socket.AF_INET,socket.soCK_STREAM)
host = '127.0.0.1' #L'IP du Serveur
port = 1234 #data transfering port
server.bind((host,port)) #bind server
server.listen(5)
client,addr = server.accept()
print("Got Connection from",addr)
client.send("Hello World :)".encode('UTF-8')) #send data to client
msg = client.recv(1024)
print(msg.decode('UTF-8'))
input()
第二个程序:
#client.py
import socket
server = socket.socket()
host = '127.0.0.1' #L'IP du Serveur
port = 1234
server.connect((host,port))
msg =server.recv(1024)
print(msg.decode('UTF-8'))
server.send('Client Online ...'.encode('UTF-8'))
input()
我首先运行server.py,没有问题。比起,我运行client.py,但是运行时我有: “
Traceback (most recent call last):
File "/Users/user/Documents/client.py",line 8,in <module>
server.connect((host,port))
ConnectionRefusedError: [Errno 61] Connection refused
>>>
”
我尝试了多种操作,例如停用壁挂式火炉,放置192.168.1.x IP,但仍然出现相同的消息错误。我也将其发送给我的一个PC上的朋友(我使用的是MAC),他没有问题。所以我想问题出在我有Mac。有人有答案或解释吗?
解决方法
我正在使用IDLE进行编码。是问题所在。我猜IDLE有一个不允许人们做套接字的保护。所以我刚去终端,它终于可以工作了。