upd_2
This commit is contained in:
parent
8bb7819a01
commit
6c6e5440e0
15
UDP_chat.py
15
UDP_chat.py
@ -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)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user