Всем добрый день.
Есть некое устройство, которое может посылать данные через инет по протоколу UDP.
Бьюсь уже какой день и сломал весь мозг.
Может кто разворачивал такие сервера хотя бы на локальной машине, а в идеале на каком либо хостинге.
Как до него достучаться я знаю, а вот как забрать данные и поместить их, например, на страничку сайта, а ещё лучше в базу MySQL вот в чём вопрос?
UDP сервер
Сообщений 1 страница 10 из 10
Поделиться12019-09-17 09:13:22
Поделиться22019-09-17 10:06:40
Прием на ПК?
Поделиться32019-09-17 10:10:40
Прием на ПК?
Для теста можно на ПК, но лучше сразу на удалённом сервере
Поделиться42019-09-17 10:17:52
Можно попробовать на php если сервер держит , но на роутере провайдера должен быть проброшен порт, для приёма UDP-пакетов
Поделиться52019-09-17 10:24:56
но на роутере провайдера должен быть проброшен порт, для приёма UDP-пакетов
Только что пообщался со своим хостером. У них трафик по UDP закрыт.
Буду искать другого,но скорее всего они не хотят связываться с ним.
Сейчас попробую на локалке с помощью TCP/IP Builder.
Поделиться62019-09-17 10:50:55
Только что пообщался со своим хостером. У них трафик по UDP закрыт.
Буду искать другого,но скорее всего они не хотят связываться с ним.
Сейчас попробую на локалке с помощью TCP/IP Builder.
Он оказался только для локальной сети. В инете работать отказывается. 
Поделиться72019-09-17 11:11:38
Бывает 
Поделиться82019-09-17 19:51:32
Может кто разворачивал такие сервера хотя бы на локальной машине
Запустить такой сервер на компе не составляет проблем. Что-то типа
InitNetwork() CreateNetworkServer(0, 1234, #PB_Network_UDP | #PB_Network_IPv4)
А дальше пишется код приема/передачи данных.
в идеале на каком либо хостинге.
Не все поддерживают UDP. Вероятно понадобится выделенный сервер с соответствующей стоимостью аренды...
Он оказался только для локальной сети. В инете работать отказывается.
Порт открыть не забыли? Провайдер не блокирует?
Поделиться92019-09-18 10:16:54
Запустить такой сервер на компе не составляет проблем. Что-то типа
Я начитался о них до одури, но так и не понял. Например вот этот код куда нужно воткнуть?
С хостерами пообщался, почти никто не допускает UDP.
С TCP/IP Builder справился, всё дело было в файерволе. Он его тупо не пускал. Создал правило и всё пошло, но только от модуля на сервер.
В обратную сторону пока не получается.
Мой модуль поддерживает и TCP, вчера наскоком не получилось, надо разобраться с командами и вдумчиво попробовать.
Поделиться102019-09-18 11:26:03
Например вот этот код куда нужно воткнуть?
Вот сюда. https://www.purebasic.com/download.php
Код в предыдущем сообщении только создает сервер без обработки сообщений. Его нужно немного дополнить.
InitNetwork()
#BuffSize = 2048
*Buff = AllocateMemory(#BuffSize)
If CreateNetworkServer(0, 1234, #PB_Network_UDP | #PB_Network_IPv4) = 0
MessageRequester("", "Не удалось запустить сервер")
End
EndIf
Repeat
SEvent = NetworkServerEvent() ; События сервера.
If SEvent
ClientID = EventClient() ; Идентификатор клиента.
Select SEvent
Case #PB_NetworkEvent_Connect
Debug "Подключился клиент с идентификатором "+ClientID
Case #PB_NetworkEvent_Data
Debug "Клиент с ИД "+ClientID+" прислал данные"
CountBytes = ReceiveNetworkData(ClientID, *Buff, #BuffSize) ; Принимаем данные.
If CountBytes>0
SendNetworkData(ClientID, *Buff, CountBytes) ; Отправляем обратно принятые данные.
EndIf
EndSelect
Else
Delay(2)
EndIf
ForEverЭтот код создает UDP сервер на 1234 порту и отправляет назад все принятые данные.
Можно аналогичный код написать на многих других ЯП. Но это если программа запускается на компе. В случае хостера возможно удастся договориться о запуске своей программы на выделенном сервере.