Python-сокеты: отправка данных по разным сетям - PullRequest
0 голосов
/ 08 сентября 2018

Я хочу использовать этот код, когда клиент и сервер находятся в разных сетях.могут ли сокеты pythons делать это?

сервер:

import socket
import select
open_client_sockets = []
server_socket = socket.socket()
server_socket.bind(('0.0.0.0', 8001))

server_socket.listen(1)
(new_socket1, address1) = server_socket.accept()
open_client_sockets.append(new_socket1)

while True:
    rlist, wlist, xlist = select.select(open_client_sockets, 
open_client_sockets, [])
    for current_socket in rlist:
        data = current_socket.recv(4096)
        if data != '':
            print "given data: ", str(data)

клиент:

import socket
import wmi
import time
import sys
ip = 'servers IP'
port = 8001

try:
    my_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    my_socket.connect((ip, port))
except:
    print "socket error"

c = wmi.WMI()
disks=[]
for disk in c.Win32_LogicalDisk (DriveType=3):
    data= disk.Caption, "%0.2f%% free" % (100.0 * long (disk.FreeSpace) / long 
(disk.Size))
    disks.append(data)
print str(disks)
data = str(disks)
my_socket.send(data)

работает только в одной сети.

...