An error occurred while loading the file. Please try again.
-
Faris Hasim Syauqi authored0f1ae940
server.py 1.56 KiB
import socket
import sys
from common import *
# def CONSTANT
SERVER_PORT = 10000 # default
MSG = "Welcome to the server"
class Server():
def __init__(self, port=10000, filepath="input"):
self.SERVER_PORT = port
self.FILE_PATH = filepath
self.clients = []
self.init_socket()
self.listen()
for client in self.clients :
self.handshake(client)
self.send_file(client)
self.close_con(client)
def init_socket(self):
self.socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
def send(self, data, client_addr):
self.socket.sendto(data, client_addr)
def recv(self):
return self.socket.recvfrom(SEG_SIZE)
def listen(self):
self.socket.bind((HOST_NAME, BROADCAST_PORT))
log("!", f"Server listening on broadcast address\n")
while True:
message, address = self.recv()
log("!", f"Client {address} found")
self.send(bytes(), address) # <-- To-change
self.clients.append(address)
log("?", "Listen more? (y/n) ", end="")
choice = input()
if choice == "n":
break
def handshake(self, client_addr):
# To-DO
return
def send_file(self, client_addr):
# To-Do
return
def close_con(self, client_addr):
# To-Do
return
if __name__=="__main__":
try:
Server(port=sys.argv[1]);
except:
Server();