50 lines
No EOL
1.3 KiB
Python
50 lines
No EOL
1.3 KiB
Python
import time
|
|
import socket
|
|
import threading
|
|
|
|
import packages
|
|
|
|
# port settings
|
|
IP = '127.0.0.1'
|
|
PORT = 1040
|
|
|
|
|
|
class Server(pkgs.PackageHandler):
|
|
|
|
def __init__(self, ip, port):
|
|
self.server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
|
|
|
# Socket settings
|
|
self.server_socket.setsockopt(
|
|
socket.SOL_SOCKET,
|
|
socket.SO_REUSEADDR,
|
|
1)
|
|
|
|
self.server_socket.bind((ip, port))
|
|
self.server_socket.listen()
|
|
|
|
print(f'Listening for connections on {ip}:{port}')
|
|
self.server_loop()
|
|
|
|
def server_loop(self):
|
|
while True:
|
|
client_socket, client_address = self.server_socket.accept()
|
|
print(f"Accepted new connection from {client_address}")
|
|
|
|
package = self.pull(client_socket)
|
|
if package:
|
|
|
|
if package['type'] != 'con':
|
|
continue
|
|
|
|
user_id = int(package['data'].decode('ascii'))
|
|
|
|
print(f"Received user ID: {user_id}")
|
|
self.push(client_socket, "Hello from the Server!")
|
|
|
|
while True:
|
|
self.push(client_socket, "Connection still alive!")
|
|
time.sleep(2)
|
|
|
|
if __name__ == '__main__':
|
|
server = Server(IP, PORT) |