我的Python脚本无法正常工作。它表示端口kandicraft.finlaydag33k.nl
上的25565
已关闭,而它正在响应ping(我可以连接到游戏本身)
我知道这应该是代码中的某个错误,但是在半个小时前启动python时我找不到它。
我得到的输出是:24-02-2016 16:05:30] kandicraft.finlaydag33k.nl on port 25565 seems to be unreachable!
我已经对问题进行了编辑,因为使用google的80端口现在可以使用了,但是此脚本(ping Minecraft服务器)的主要目的以后就不起作用了。
我从异常中得到的错误是an integer is required
(因此端口25565
似乎不是整数???)
import os
import RPi.GPIO as gpio
import time
import socket
## set variables for the machine to ping and pin for the LED
hostname = ['kandicraft.finlaydag33k.nl:25565','google.com:80']
led_pin = 37
## prepare
led_status = gpio.LOW
gpio.setmode(gpio.BOARD)
gpio.setup(led_pin, gpio.OUT, gpio.PUD_OFF, led_status)
## PING FUNCTION GALORE!!
def check_ping(host,port):
captive_dns_addr = ""
host_addr = ""
try:
host_addr = socket.gethostbyname(host)
if (captive_dns_addr == host_addr):
return False
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.settimeout(1)
s.connect((host,port))
s.close()
except:
return False
return True
## Run the script itself infinitely
while True:
host_up = ""
for host in hostname:
if ":" in host:
temphost, tempport = host.split(":")
pingstatus = check_ping(temphost, tempport)
if pingstatus == False:
print('[' + time.strftime("%d-%m-%Y %H:%M:%S") + '] ' + temphost + ' on port ' + tempport + ' seems to be unreachable!')
host_up = "False"
if host_up == "False":
led_status = gpio.HIGH
else:
led_status = gpio.LOW
gpio.output(led_pin,led_status)
time.sleep(1)
最佳答案
我设法使用check_ping(temphost,int(tempport))
解决了所有发现的问题
感谢所有帮助我解决问题的人!
关于python - 为什么我的脚本告诉我端口25565上的Minecraft服务器无法访问?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35607178/