Форум программистов, компьютерный форум, киберфорум
Python: Сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 1
Регистрация: 05.05.2015
Сообщений: 7

Отправка данных сервером

21.02.2021, 18:18. Показов 2999. Ответов 0

Лучший ответ Сообщение было отмечено DmFat как решение

Решение

Студворк — интернет-сервис помощи студентам
Всем привет. В Python пока что "полный НОЛЬ"
Пытаюсь из raspberry сделать Arduino

С приемом данных на сервер кое как разобрался, нужна помощь в отправке текстовых данных клиенту,
в def obrabotka(): нужно прописать отправку данных клиенту

Зарание спасибо!!!!

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#!/usr/bin/python
# -*- coding: utf-8 -*-
import time     # Паузы
import threading  #Потоки
import socket   # Сокет
 
 
dan_Pr = "ret" # Переменная принятых данных
 
 
# для создания потоков
def thread(my_func):
    def wrapper(*args, **kwargs):
        my_thread = threading.Thread(target=my_func, args=args, kwargs=kwargs)
        my_thread.start()
    return wrapper
 
@thread
def server1(): # Поток сервер
    while True:
        sock = socket.socket()
        sock.bind(('', 9090))
        sock.listen(100)
        conn, addr = sock.accept()
 
        print('connected:', addr)
 
        while True:
            try:
                data = conn.recv(1024)  # Считывание данных, данные БАЙТОВЫЕ
                if not data:
                    break
                #conn.send(data)  # Отправляем на сервер пришедшие данные
                global dan_Pr
                dan_Pr = data
                dan_Pr = data.decode('UTF-8')  # Преобазование байтов в текст
                obrabotka()
            except socket.error:
                pass
 
 
        conn.close()
        print("ON connected:")
        time.sleep(1)
 
 
 
def obrabotka():
    print(dan_Pr)
    if (dan_Pr == "Vmenu"):
        print("Меню пришло")
          #////////       Вюда вписать отправку текстовых данные на сервер, типа ("Меню пришло")
    elif (dan_Pr == "Vprav"):
        print("В право пришло")
 
 
server1()
Добавлено через 4 часа 14 минут
Может кому понадобится!!! Правильно-неправильно, по хрен, главное работает

def oty(): - Таймер на 1 сек, эмулятор нажатия на кнопку, можно смело удалять

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#!/usr/bin/python
# -*- coding: utf-8 -*-
import time     # Паузы
import threading  #Потоки
import socket   # Сокет
 
 
dan_Pr = "ret" # Переменная принятых данных
dan_Ot = "qwe" # Переменная на отправку данных
sost_soc = False # Состояние сокета, что бы не долбилась если нет клиента
 
 
# для создания потоков
def thread(my_func):
    def wrapper(*args, **kwargs):
        my_thread = threading.Thread(target=my_func, args=args, kwargs=kwargs)
        my_thread.start()
    return wrapper
 
@thread
def server1(): # Поток сервер
    while True:
        sock = socket.socket()
        sock.bind(('', 9090))
        sock.listen(100)
        global conn
        conn, addr = sock.accept()
        global sost_soc
        sost_soc = True  #Клиент подключился
        print('connected:', addr)
 
        while True:
            try:
                global data
                data = conn.recv(1024)  # Считывание данных, данные БАЙТОВЫЕ
                if not data:
                    break
 
                global dan_Pr
                dan_Pr = data.decode('UTF-8')  # Преобазование байтов в текст, что бы отправить на обработку
                obrabotka()
 
            except socket.error:
                 pass
 
 
 
        conn.close()
        print("ON connected:")
        sost_soc = False # Клиент отключился
        time.sleep(1)   # Для препожключения клиента, иначе на raspbery неуспевает пересоздаться сокет
 
 
 
def obrabotka(): # Обработка принятых данных
    print(dan_Pr)
    if (dan_Pr == "Vmenu"):
        print("Меню пришло")
        otpr("Meny prishlo")
 
    elif (dan_Pr == "Vprav"):
        print("В право пришло")
 
def otpr(dan_Ot):  # Для отпавки, if чтобы не долбилась без клиента
    if sost_soc:
        conn.send(dan_Ot.encode('utf-8'))
 
 
 
@thread
def oty():  # Ещё один поток с таймером раз в секунду, что бы эмулировать событие отправки,
 
    while True:
        time.sleep(1)
        otpr("Meny")
 
server1() # Поток сервер
oty()  # Ещё один поток с таймером раз в секунду, что бы эмулировать событие отправки,
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.02.2021, 18:18
Ответы с готовыми решениями:

Отправка данных сервером на невалидный сокет
Доброго времени суток, Господа! Есть такая штука, что если под linux вызвать функцию send для невалидного сокета то программа упадёт,...

WebSocket: Соответствует ли одна отправка (send) данных сервером одному вызову onmessage на клиенте
Бесконечного счастья и весны, all! Гарантируется ли, что данные, отправленные сервером по Websocket одной записью в сокет, на клиенте...

Работа с FTP-сервером: отправка файлов
Какая стратегия есть по работе с отправкой файлов на сервер? Я имею в виду алгоритм загрузки, обработка ошибок. Ну например, можно ли...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.02.2021, 18:18
Помогаю со студенческими работами здесь

Работа с FTP-сервером. Отправка файла
Приветствую. Приходится решать поставленные задачи сходу. Нужно осуществлять отправку файла на FTP сервер, зная адрес, логин и пароль....

Отправка сообщения (одним) сервером многим клиентам
Здравствуйте. Столкнулся с одним проблематичным заданием. Есть приложение клиент-сервер. Нужно с сервера отправить сообщение...

Получение скрина сервером и отправка программе-клиент
Нужно написать программу которая получала бы скриншот экран и отправляла программе-клиент. С получением скрина проблем нет, но придумать...

Заголовок сообщения: Отправка SOAP request сервером
Добрый день! Не могу разобраться с вопросом. Есть веб-сервис работающий по протоколу SOAP. На нём региструется клиент. При первом...

Отправка сообщений сервером всем TCP клиентам
Здравствуйте! Проблема следующая. Есть код для создания многопоточного Tcp сервера. Клиенты подключаются в новый поток. Мне необходимо...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru