Я только начинаю изучать вводную книгу по сети и наткнулся на создание простой клиент-серверной программы с использованием TCP.Код для сервера:
import socket as soc
serverport = 12000
server_socket=soc.socket(soc.AF_INET,soc.SOCK_STREAM)
server_socket.bind(('', serverport))
server_socket.listen(2)
max_bytes = 2048
connection_socket, addr = server_socket.accept()
x = connection_socket.recv(max_bytes)
print("Your sender has sent you: ", x.decode())
connection_socket.send('I received your msg'.encode())
connection_socket.close()
и код для клиента:
import socket as soc
servername = 'xx.xx.xx.xxx' <- In this I put someone's public IP address
serverport = 12000
client_socket=soc.socket(soc.AF_INET,soc.SOCK_STREAM)
client_socket.connect((servername, serverport))
sentence='This is mathmaniage'
client_socket.send(sentence.encode())
#waits
modified_sentence=client_socket.recv(2048)
print(modified_sentence)
client_socket.close()
Если IP идентифицирует хосты, а приведенный выше код должен устанавливать TCP-соединение, и оно работает на моемлокальный хост, почему он не работает на двух разных компьютерах в двух разных сетях?(Как компьютер моего друга и мой, поэтому вместо «xx.xx.xx.xxx» я пишу IP-адрес моего друга)