Назад к вопросам
Junior — Middle
65
Можете ли вы объяснить, что такое сетевой сокет и как он используется в программировании для обмена данными по сети?
Ответ от нейросети
sobes.tech AI
Сетевой сокет — это программный объект, который обеспечивает двунаправленную связь между двумя узлами в сети. Он работает как конечная точка для отправки и получения данных по протоколам TCP или UDP.
В программировании сокеты используются для обмена данными между клиентом и сервером. Например, сервер создает сокет и «слушает» определенный порт, а клиент подключается к этому порту через свой сокет. После установления соединения они могут обмениваться сообщениями.
Пример на Python (TCP-сервер и клиент):
# Сервер
import socket
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind(('localhost', 12345))
server_socket.listen(1)
conn, addr = server_socket.accept()
print('Connected by', addr)
data = conn.recv(1024)
conn.sendall(data)
conn.close()
# Клиент
import socket
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect(('localhost', 12345))
client_socket.sendall(b'Hello, server')
data = client_socket.recv(1024)
print('Received', data)
client_socket.close()
Таким образом, сокеты позволяют программам обмениваться данными по сети в реальном времени.