def server_start(): server_socket = socket.socket() host = '' port = 12000 try: server_socket.bind((host, port)) except socket.error as e: server_socket.close() return server_socket.listen() while True: try: time.sleep(1) client, address = server_socket.accept() # send request data = str(datetime.datetime.now()) print(data) protocol.send_data(client, data=data) client.close() except Exception as e: break server_socket.close()
def start_game(self): """ Returns: """ protocol.send_data(self.sock, protocol.game_start())
def close(self): """ Returns: """ protocol.send_data(self.sock, protocol.disconnection_announce()) self.sock.close()
def update_angle(self): """ Returns: """ cx, cy = pygame.display.get_surface().get_size() cx, cy = cx / 2, cy / 2 px, py = pygame.mouse.get_pos() dx = px - cx dy = py - cy angle = atan2(dy, dx) protocol.send_data(self.sock, protocol.snake_change_angle(angle))
def __init__(self, ip, name): """ Args: ip (str): valid ip of the server. name (str): the name of the player. """ # variables declaration self.sock = socket.socket() self.key = None self.snakes = {} self.orbs = {} self.display = pygame.display.get_surface().get_rect() self.board = None self.render_control = None # initial connection self.sock.connect((ip, protocol.PORT)) self.sock.settimeout(None) # get server initial while True: data = protocol.parse(protocol.recv_data(self.sock)) if data['type'] == protocol.Type.INITIAL and \ data['subtype'] == protocol.Subtype.INITIAL.server: self.board = pygame.Rect(0, 0, data['width'], data['height']) self.key = data['id'] break self.render_control = game.render.Render(self.display, self.board, self.snakes, self.orbs) # send client initial protocol.send_data(self.sock, protocol.initial_client(name)) # end init function and add timeout self.sock.settimeout(0.001)
def send(): protocol.sendDataPort = data_port protocol.receiveAckPort = ack_port protocol.receiveAckSocket = sockfd_ack protocol.SendDataSock = sockfd protocol.IP = target[0] global i_max global file_size #sockdata = socket.socket( socket.AF_INET, socket.SOCK_STREAM ) #sockdata.connect((target[0], port_)) f = open( file_name ,'rb') file_size = os.path.getsize(file_name ) file_temp = file_name.split("/") print file_temp[-1] ## send file header sockfd.sendto("#"+str(file_size)+"#"+file_temp[-1],target) time.sleep(.5) print 'Sending...' protocol.send_data(f,chunk_size) # l = f.read(chunk_size) # while (l): # print 'Sending...',l # sockfd.sendto(l,target) # l = f.read(chunk_size) # time.sleep(.1) # i_max+=len(l) # i_max+=chunk_size # sockfd.sendto("$",target) f.close() print "Done Sending" print sockfd.recvfrom(1024) sockfd.close()
import socket import protocol #file_name = "/home/fritz/Downloads/southpark1.mp4" file_name = "/home/fritz/Downloads/The.100.S02E02.720p.HDTV.X264-DIMENSION.mkv" HOST = "" PORT = 50007 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) s.bind((HOST, PORT)) s.listen(1) conn, addr = s.accept() print("Connected by {0}".format(addr)) with open(file_name, "rb") as fid: data = fid.read() protocol.send_data(conn, data) #while True: #data = conn.recv(1024) #if not data: break #conn.sendall(data) conn.close()
import socket as socketlib import protocol socket: socketlib.socket # вызывающая сторона command = { 'command': 'SOME_COMMAND', 'some_structured_data': { 'array': [1, 2, 3], 'str': 'str' } } protocol.send_data(socket, command) result = protocol.recv_data(socket) # принимающая сторона command = protocol.recv_data(socket) if command['command'] == 'SOME_COMMAND': result = work_with_data(command['some_structured_data']) protocol.send_data(socket, result) elif command['command'] == 'ANOTHER_COMMAND': ...