Сокеты в Python на примерах

Разберём простую связь клиент/сервер

Нам понадобиться 2 скрипта

Сервер

import socket

lSock = socket.socket() #Создаю сокет

lSock.bind(('', 9090)) #Сетевые даные ИП, Порт

lSock.listen(1) #Слушаем входящие тикеты, устанавливает кол. возможных соединений
conn, addr = lSock.accept() #Принимаем подключение, получаем сокет клиента, и адрес

while True: #Цикл чтения данных, получаем данные от клиента порциями 1кб, и отправляем обратно клиенту капсом
    data = conn.recv(1024)
    if not data:
        break
    conn.send(data.upper())

conn.close() #Закрываем соединение

Тут используем цикл while для чтения данных порциями 1кб или 1024байта, если данные не приходят скрипт продолжает работу, если есть мы отправляем сообщение обратно клиенту в верхнем регистре.

Клиент

import socket

lSock = socket.socket()

lSock.connect(('127.0.0.1', 9090)) #Сетевые даные ИП, Порт Сервера

message = 'Hello server im client'
lSock.send(message.encode()) #Отправляем сообщение серверу

data = lSock.recv(1024) #Принимаем данные от сервера и записываем в переменную data
lSock.close() #Закрываем соединение

print(data) #Выводим данные в консоль

Тут всё просто и в целом думаю не нужно объяснять только рассмотрим строку lSock.send(message.encode()), тут мы енкодим переменную типа string в байты message.encode(), а так если не понятно пишите коменты.

Удачи)!

 

Оставить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *