Witam, przechodząc do sedna:
# server.py
import socket
import random
import sys
host = '83.5.XXX.XX' # Globalne IP
port = 48980
s = socket.socket()
s.bind((host, port))
s.listen(1)
print( 'Server listening on ' + host+':'+str(port) + ' ...' )
print( '=======================================' )
while 1:
conn, addr = s.accept()
print( 'Got connection from', addr )
filename = str(addr) + '-' + str(random.randint(10000, 99999))
print( 'Filename:', filename )
with open('dump/'+filename, 'wb') as f:
print( 'File opened.' )
size = 0
while 1:
sys.stderr.write('\rReceiving data...\t\t' + str(size) )
data = conn.recv(1024)
if not data:
break
f.write(data)
size += int(sys.getsizeof(data))
f.close()
conn.close()
print("\n>>> Success <<<")
print( '=======================================' )
# client.py
import socket
s = socket.socket()
host = '83.5.XXX.XX' # Globalne IP servera
port = 48980
s.connect((host, port))
print( 'Connected to '+host+':'+str(port))
with open('file.txt', 'rb') as f:
print('File opened.')
data = f.read(1024)
while data:
print( "\rsending file..."
s.send(data)
data = f.read(1024)
f.close()
s.close()
print("\n>>> Success <<<")
Output server.py:
socket.error: [Errno 10049] The requested address is not valid in its context
*Skrypt działa jeżeli będe działał w sieci lokalnej (IP lokalne + 2 komputery)
*Porty są przekierowane poprawnie (48980 (TCP/UDP) => Komputer)
W takim razie moje pytanie:
Co zrobić, aby skrypt działał na IP globalnym ? :<
Dziękuje za odpowiedzi + przepraszam za wszelkie błędy (ort / kod / inne) :(