plyaskin_lab_1/UDP_chat.py
2026-02-05 01:06:04 +03:00

34 lines
907 B
Python

import socket
import threading
BROADCAST_IP = "255.255.255.255"
PORT = 10000
BUFFER_SIZE = 1024
def send_messages(sock, username):
while True:
message = input()
sock.sendto(f"{username}: {message}".encode(), (BROADCAST_IP, PORT))
def receive_messages(sock):
my_ip = socket.gethostbyname(socket.gethostname())
while True:
data, addr = sock.recvfrom(BUFFER_SIZE)
if addr[0] != my_ip:
print(f"[{addr[0]}] {data.decode()}")
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
sock.bind(("", PORT))
username = input("Введите ваше имя: ")
send_thread = threading.Thread(target=send_messages, args=(sock, username))
receive_thread = threading.Thread(target=receive_messages, args=(sock,))
send_thread.start()
receive_thread.start()
send_thread.join()
receive_thread.join()