Комментарий к посту Сокеты в Python 3: TCP, клиент, сервер
anonymous 4 декабря 2016 г. 10:19
Здравствуйте скажите пожалуйста в чём проблема, хочу отправлять клиенту переменные но у меня работает почему?
Скрипт сервера

import socket #Импортируем модуль

s = socket.socket() #Создаём сокет, с помощью этой
#переменной мы будем им
#управлять

host = '0.0.0.0' #Заводим хост (IP-адрес)

port = 21 #Заводим порт

s.bind((host, port)) #Привязываем

s.listen(1) #Прослушиваем, указываем максимальное
#кол-во соединений

looking = True #Присваиваем переменной истинное значение

while looking ==True: #Выполнять пока значение перемнной истинно

print("Looking...") #Выводим в консоль надпись

c, addr = s.accept() #Принимаем входящее соединение,
#возвращаем входящимй сокет и адрес
#Адрес состоит из IP-адреса и порта.

print("Got a connection: ", addr) #Выводим надпись в консоль

try: #Делает если не встретил ошибки

print("Sent!")#Выводит в консоль надпись
data = str("Hello")
c.sendto(data, (host, port)) #Отправляет закодированное
#сообщение

except: #Если try встретил ошибку и она совпадает с этой, то
#будут выполнятся данные команды

print("can't send...") #Выводит в консоль надпись

looking = False #Присваивает переменной отрицательное значение

while looking == False: #Делать пока значение переменной
#отрицательное

c.close() #Завершить соединение входящего сокета

break #Остановить цикл

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


скрипт клиента
import socket #Импортируем модуль

s = socket.socket() #Создаём сокет, с помощью этой
#переменной мы будем им
#управлять

host = '127.0.0.1' #Заводим хост (IP-адрес)

port = 21 #Заводим порт

s.connect((host, port)) #Подключаемся к серверу

data, addr = s.recvfrom(1024) #Читает сообщение определённого размера
#Возвращает полученные данные и адрес

print("data not decoded:", data) #Выводит полученные данные кодированные

print("data decoded", data.decode()) #Выводит данные раскодированные

print("socket ended: ") #Выводит надпись

s.close() #Завершает сокет
Комментировать
Вы anonymous

Вернуться