我正在运行套接字脚本以使用api响应中的端口号等待连接
SELENIUMPORT = cont["Ports"][0]["PublicPort"]
我正在使用函数将其转换为int,然后我将它传递给socket但是它出错了
client.connect(('192.168.33.10',SELENIUMPORT))
socket.error: [Errno 111] Connection refused
答案 0 :(得分:0)
ECONNREFUSED(111)
连接被拒绝。尝试连接TCP套接字时可能会发生此错误。收到重置或意外的SYNC消息时会报告。
我很确定你必须把它放在try
循环中,等待另一端听。
编辑:
根据您的评论,您将不得不打印出SELENIUMPORT,同时您从该程序获得该端口号,该端口号应该是每次都检查它们是否相同。
可以说,通过在端口号上添加让我们说10来进行测试会给你一个相同的错误,即在另一端没有任何东西在听。
除此之外,创建一个脚本,在给定的端口上进行侦听并对其进行测试,即
import os, socket, time
address = ('localhost',32840)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(address)
s.listen(1)
sc, client_address = s.accept()
while True:
print ("Connection made ", client_address)
n = 1
try:
data_recv = sc.recv(4096)
if len(data_recv) > 0:
print ("Received ", data_recv,n)
except:
print ("Disconnect")
break
尝试运行它并获取连接挑战代码以连接到它或运行类似:
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
address = ('localhost',32840)
s.connect(address)
s.sendall('mystuff')