Отправка сообщений через socket в Python

Отправка сообщений через socket в Python

https://t.me/E7TEAM

E7 | TEAM

Введение:


В этой статье мы напишем серверную и клиентскую часть для обмена командами через модуль socket с помощью языка Python.

socket — низкоуровневый сетевой интерфейс имплантированный в виде модуля

Основное:

Создадим два файла — server.py и client.py

Начнем с серверной части:

import socket

SERVER_HOST = "0.0.0.0"
SERVER_PORT = 5003
BUFFER_SIZE = 1024 * 128
s = socket.socket()

В первой строке мы импортировали нужный нам модуль, в следующих указали айпи и порт для использования сокетом, укажем их программе и начнем слушать соединения:

s.bind((SERVER_HOST, SERVER_PORT))
s.listen(5)

Copy

Теперь будем принимать соединение от клиента:

c, addr = s.accept()
print("Socket Up and running with a connection from",addr)
while True:
    rcvdData = c.recv(1024).decode()
    print "S:",rcvdData
    sendData = raw_input("N: ")
    c.send(sendData.encode())
    if(sendData == "Bye" or sendData == "bye"):
        break
c.close()

В этой части кода мы принимаем сообщения от клиента и выводим их в терминал.


Теперь перейдет к стороне клиента:

Тут все проще, как обычно импортируем сокет и определяем его, но вместо прослушки и мы подключимся к уже запущенному серверу и введем свое сообщение для отправки

client.py

import socket

s = socket.socket()
s.connect(('127.0.0.1',12345))
while True:
    str = raw_input("S: ")
    s.send(str.encode());
    if(str == "Bye" or str == "bye"):
        break
    print "N:",s.recv(1024).decode()
s.close()


Сервер получит это сообщение и покажет на его!

Самое интересное, что вместо простого вывода мы можем поставить исполнения команды, что сделает данную программу достаточно опасной!

Вывод:

Сокеты позволяют передавать данные между двумя машинами, это может быть команда или обычное текстовое сообщение, что позволяет делать полезные для юзеров программы

Report Page