41 lines
1.1 KiB
Python
41 lines
1.1 KiB
Python
import socket
|
|
import pickle
|
|
import select
|
|
|
|
BUFFER_SIZE = 1024
|
|
|
|
def newServerSocket(ip_addr, port):
|
|
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
|
server_socket.bind((ip_addr, port))
|
|
server_socket.listen()
|
|
return server_socket
|
|
|
|
|
|
def recvObj(socket):
|
|
inputs, outputs, errs = select.select([socket], [], [socket], 6)
|
|
if socket in inputs:
|
|
connected_socket, addr = socket.accept()
|
|
all_data = b''
|
|
while True:
|
|
data = connected_socket.recv(BUFFER_SIZE)
|
|
if not data:
|
|
break
|
|
all_data = all_data + data
|
|
return pickle.loads(all_data)
|
|
return None
|
|
|
|
|
|
def sendObj(ip_addr, blk, port):
|
|
soc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
|
soc.connect((ip_addr, port))
|
|
data = pickle.dumps(blk)
|
|
soc.send(data)
|
|
soc.close()
|
|
return False
|
|
|
|
|
|
|
|
|
|
# changes on newServerConnection
|
|
# We modified it to accept port number as a parameter, such that when
|
|
# we make a server we can specify on which port bind it |