working examples
This commit is contained in:
30
server.py
Normal file
30
server.py
Normal file
@@ -0,0 +1,30 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
from re import T
|
||||
import socket
|
||||
import time
|
||||
|
||||
server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
|
||||
|
||||
# Enable port reusage so we will be able to run multiple clients and servers on single (host, port).
|
||||
# Do not use socket.SO_REUSEADDR except you using linux(kernel<3.9): goto https://stackoverflow.com/questions/14388706/how-do-so-reuseaddr-and-so-reuseport-differ for more information.
|
||||
# For linux hosts all sockets that want to share the same address and port combination must belong to processes that share the same effective user ID!
|
||||
# So, on linux(kernel>=3.9) you have to run multiple servers and clients under one user to share the same (host, port).
|
||||
# Thanks to @stevenreddie
|
||||
# server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1)
|
||||
|
||||
# Enable broadcasting mode
|
||||
server.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
|
||||
server.bind(("192.168.1.101", 5555))
|
||||
# Set a timeout so the socket does not block
|
||||
# indefinitely when trying to receive data.
|
||||
server.settimeout(0.2)
|
||||
message = "count: "
|
||||
count = 0
|
||||
while True:
|
||||
count = count + 1
|
||||
# msg = message.join(str(count)).encode("utf8")
|
||||
msg = f"{message} {count}".encode("utf8")
|
||||
server.sendto(msg, ("255.255.255.255", 37020))
|
||||
# print("message sent!", flush=True)
|
||||
time.sleep(1)
|
||||
Reference in New Issue
Block a user