TCP and UDP clients and servers
This commit is contained in:
parent
3eff79532a
commit
0de4a40bc1
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
.venv/
|
||||||
|
__pycache__/
|
||||||
|
.env
|
||||||
8
tcp_client.py
Normal file
8
tcp_client.py
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
import socket
|
||||||
|
|
||||||
|
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||||
|
client.connect(('127.0.0.1', 10000))
|
||||||
|
client.sendall(b'EXIT')
|
||||||
|
data = client.recv(1024)
|
||||||
|
print(f"Ответ от сервера: {data.decode()}")
|
||||||
|
client.close()
|
||||||
31
tcp_server.py
Normal file
31
tcp_server.py
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
import socket
|
||||||
|
|
||||||
|
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||||
|
|
||||||
|
server.bind(("0.0.0.0", 10000))
|
||||||
|
|
||||||
|
server.listen(1)
|
||||||
|
print("TCP сервер запущен")
|
||||||
|
|
||||||
|
while True:
|
||||||
|
|
||||||
|
conn, addr = server.accept()
|
||||||
|
print(f"Подключение от {addr}")
|
||||||
|
|
||||||
|
|
||||||
|
data = conn.recv(1024)
|
||||||
|
|
||||||
|
if not data:
|
||||||
|
conn.close()
|
||||||
|
break
|
||||||
|
|
||||||
|
conn.sendall(data.upper())
|
||||||
|
|
||||||
|
conn.close()
|
||||||
|
|
||||||
|
if data.upper() == b'EXIT':
|
||||||
|
print("Завершение работы сервера...")
|
||||||
|
break
|
||||||
|
|
||||||
|
|
||||||
|
server.close()
|
||||||
10
udp_client.py
Normal file
10
udp_client.py
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
import socket
|
||||||
|
|
||||||
|
client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
||||||
|
message = b'hello server'
|
||||||
|
client.sendto(message, ('127.0.0.1', 15000))
|
||||||
|
|
||||||
|
data, server_addr = client.recvfrom(1024)
|
||||||
|
print(f"Ответ от сервера: {data.decode()}")
|
||||||
|
|
||||||
|
client.close()
|
||||||
15
udp_server.py
Normal file
15
udp_server.py
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
import socket
|
||||||
|
|
||||||
|
server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
||||||
|
server.bind(('0.0.0.0', 15000))
|
||||||
|
print("UDP сервер запущен на порту 15000")
|
||||||
|
|
||||||
|
while True:
|
||||||
|
data, addr = server.recvfrom(1024)
|
||||||
|
message = data.decode()
|
||||||
|
print(f"Получено от {addr}: {message}")
|
||||||
|
|
||||||
|
modified_message = f"ECHO: {message.upper()} (len: {len(message)})"
|
||||||
|
|
||||||
|
|
||||||
|
server.sendto(modified_message.encode(), addr)
|
||||||
Loading…
Reference in New Issue
Block a user