This commit is contained in:
Иван Вязников 2026-02-05 01:06:04 +03:00
parent 8bb7819a01
commit 6c6e5440e0

View File

@ -8,21 +8,14 @@ BUFFER_SIZE = 1024
def send_messages(sock, username): def send_messages(sock, username):
while True: while True:
message = input() message = input()
if message.startswith("/pm"): sock.sendto(f"{username}: {message}".encode(), (BROADCAST_IP, PORT))
try:
_, target_ip, private_message = message.split(" ", 2)
sock.sendto(f"PM {username}: {private_message}".encode(), (target_ip, PORT))
except ValueError:
print("Неверный формат команды. Используйте: /pm <ip> <сообщение>")
else:
sock.sendto(f"BC {username}: {message}".encode(), (BROADCAST_IP, PORT))
def receive_messages(sock): def receive_messages(sock):
my_ip = socket.gethostbyname(socket.gethostname())
while True: while True:
data, addr = sock.recvfrom(BUFFER_SIZE) data, addr = sock.recvfrom(BUFFER_SIZE)
message = data.decode() if addr[0] != my_ip:
if addr[0] != socket.gethostbyname(socket.gethostname()): print(f"[{addr[0]}] {data.decode()}")
print(f"[{addr[0]}] {message}")
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1) sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)