Я работаю над программой python, которая позволит мне отправлять и получать данные между ПК. Мне удалось заставить его работать в моей локальной сети, и я хотел настроить его так, чтобы он мог соединяться с inte rnet. Я открыл порт 1234 в своем маршрутизаторе и использовал локальный IP-адрес на server.py и pucli c IP на клиенте, но server.py, похоже, не получает никаких данных. Что я здесь не так делаю?
Пример кода выглядит примерно так (он работает для локальных сетей, но только на отдельных ПК, IP-адрес, конечно, только пример и, вероятно, не подойдет никому еще):
server.py:
import socket
import time
import pickle
IP = "192.168.1.69"
PORT = 1234
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
server_socket.bind((IP, PORT))
server_socket.listen()
print(f'Listening for connections on {IP}:{PORT}...')
client_socket, client_adress = server_socket.accept()
print(pickle.loads(client_socket.recv(1024)))
client_socket.send(pickle.dumps('DONE'))
time.sleep(1)
client_socket.send(pickle.dumps('boi'))
print(client_socket, client_adress)
client.py:
import socket
import pickle
import time
IP = "192.168.1.69"
PORT = 1234
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect((IP, PORT))
client_socket.setblocking(False)
client_socket.send(pickle.dumps("NICE."))
time.sleep(1)
print(pickle.loads(client_socket.recv(1024)))
time.sleep(1)
print(pickle.loads(client_socket.recv(1024)))
Спасибо.