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

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

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

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

Решение

Author24 — интернет-сервис помощи студентам
Всем привет. В 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)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.02.2021, 18:18
Ответы с готовыми решениями:

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

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

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

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

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

0
21.02.2021, 18:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.02.2021, 18:18
Помогаю со студенческими работами здесь

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

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

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

Получение данных сервером от БД и отображение данных в клиенте DataGridView
Подскажите пожалуйста, как в C# полученные данные сервером из Базы данных(sqlite) передать клиенту...

http client отправка запроса после спустя некоторое время после соединения с сервером
Всем привет, уважаемые форумчане! Вопрос стоит в следующем, мне нужно открыть соединение с http...

Отправка данных в форму и отправка формы
Я пишу бота на python, который будет заказывать такси. Я столкнулся со следующей проблемой, каким...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru