Compare commits
2 Commits
c0e7fea3bb
...
f253a0d9df
| Author | SHA1 | Date | |
|---|---|---|---|
| f253a0d9df | |||
| 9b3ca71b70 |
57
connection.py
Normal file
57
connection.py
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
import socket
|
||||||
|
import argparse
|
||||||
|
import threading
|
||||||
|
import random
|
||||||
|
import time
|
||||||
|
|
||||||
|
def handle_client(conn):
|
||||||
|
while True:
|
||||||
|
try:
|
||||||
|
num = random.randint(0, 100)
|
||||||
|
conn.send(f"number={num}".encode())
|
||||||
|
time.sleep(1)
|
||||||
|
except:
|
||||||
|
print("Disconnected.")
|
||||||
|
conn.close()
|
||||||
|
break
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
parser = argparse.ArgumentParser()
|
||||||
|
parser.add_argument('type', type=str, help="'client' or 'server'", default='server')
|
||||||
|
parser.add_argument('--host', type=str, help="server's IPv4 address", default='0.0.0.0')
|
||||||
|
parser.add_argument('--port', type=int, help="server's listening port", default=8888)
|
||||||
|
|
||||||
|
args = parser.parse_args()
|
||||||
|
socket_type = args.type
|
||||||
|
host, port = args.host, args.port
|
||||||
|
|
||||||
|
if socket_type == 'server':
|
||||||
|
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
||||||
|
sock.bind((host, port))
|
||||||
|
|
||||||
|
print("Server listening...")
|
||||||
|
|
||||||
|
while True:
|
||||||
|
data, addr = sock.recvfrom(1024)
|
||||||
|
print(f"Accept connection from {addr}")
|
||||||
|
|
||||||
|
sock.sendto(host.encode(), addr)
|
||||||
|
|
||||||
|
# thread = threading.Thread(target=handle_client, args=(conn, ))
|
||||||
|
# thread.start()
|
||||||
|
|
||||||
|
else:
|
||||||
|
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
||||||
|
sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
|
||||||
|
sock.settimeout(2)
|
||||||
|
|
||||||
|
sock.sendto('discover'.encode(), ('255.255.255.255', port))
|
||||||
|
|
||||||
|
while True:
|
||||||
|
data, addr = sock.recvfrom(1024)
|
||||||
|
print(data.decode(), addr)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Loading…
Reference in New Issue
Block a user