我知道这个问题有很多类似的答案,使用VPN并从防火墙中取消阻止, 但尝试了所有,似乎没有任何效果。所以,我把这个问题作为最后的手段。
我是 Python 新手,我尝试了他们所说的,但不理解我找到的答案背后的理论。 规格: 窗户 10. 蟒蛇 3.8。
编辑: 绑定(s.bind())时出现错误。
代码如下:
import socket
class server():
hostname = socket.gethostbyname(socket.gethostname())
port = input("Enter port(8080 is default): ")
if port == '':
port = 8080
else:
port = int(port)
print(socket.getaddrinfo(hostname, port))
if socket.has_ipv6:
s = socket.socket(socket.AF_INET6, socket.SOCK_STREAM)
else:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((hostname, port))
s.listen()
while True:
(clientConnected, clientAddress) = s.accept()
a = input("{0} is Trying to connect on port {1}\n Do want to Accept request:(Yes/y/No/n): ".format(hostname, port))
if a == 'Yes' or a == 'y':
print("You are connected to " + hostname)
clientConnected.send("Succesful".encode())
break
# break
if a == 'No' or a == 'n':
print("Quitting.......")
s.close()
else:
print("Invalid request .. \n Try again")
continue
if __name__ == "__main__" :
sever().run()
输出:
C:\Users\Haseeb\AppData\Local\Programs\Python\Python38\python.exe "D:/Product Code_ 037396/Python/Tv_Remote/Server_1.py"
Enter port(8080 is default):
Traceback (most recent call last):
File "D:/Product Code_ 037396/Python/Tv_Remote/Server_1.py", line 3, in <module>
[(<AddressFamily.AF_INET: 2>, 0, 0, '', ('127.0.0.1', 8080))]
class server():
File "D:/Product Code_ 037396/Python/Tv_Remote/Server_1.py", line 18, in server
s.bind((hostname, port))
socket.gaierror: [Errno 11001] getaddrinfo failed
Process finished with exit code 1
我应该如何解决这个问题?
谢谢。