我制作了这个基本的Python 3套接字服务器,试图学习套接字编程。我可以使用&#; telnet 192.168.x.x 9001'连接到它。在同一台计算机上运行Ubuntu 16.04,但是当我尝试在不同的网络上使用我的其他计算机时,Windows 10在不同的网络上它不会让我连接(当使用运行Windows 10的计算机时,我在Ubuntu上运行服务)
这是我写的代码。
import socket
from _thread import start_new_thread
host = ""
port = 9001
class Server:
def __init__(self, host, port):
self.server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
self.server.bind((host, port))
except socket.error as e:
print(str(e))
self.server.listen(10)
def main(self, conn):
while True:
conn.send(str.encode("Enter some text to make uppercase: "))
message = conn.recv(4096)
message = str(message,'utf-8')
conn.send(str.encode(message.upper()))
def run(self):
while True:
conn, addr = self.server.accept()
print("Connection from {}:{:d}".format(addr[0], addr[1]))
start_new_thread(self.main, (conn, ))
my_server = Server(host, port)
my_server.run()