Блин, суть я понял, спасибо
![Smile :)](./images/smilies/icon_smile.gif)
То-то я тоже думал, как могут приложения вдвоём на одном порту работать нормально
![Smile :)](./images/smilies/icon_smile.gif)
))
Но всё равно меня тупит по ужасу...
Пишу на
AutoIT, эт скриптовый язык, по сути до ужоса упрощённый
С...
В общем функции обработки UDP там такие:
======================================
UDPBind
Создать UDP сокет, связанный со входящим подключением.
Синтаксис: UDPBind ( $IPAddr, $port )
Параметры:
$IPAddr - Адрес протокола интернет (Internet Protocol -IpV4) в виде "192.162.1.1".
$port - номер порта, соответствующего открываемому сокету.
Возвращаемое значение:
Идентификатор главного сокета. В случае ошибки возвращается -1, а значение @error устанавливается равным номеру ошибки согласно Windows API функции WSAGetLasterror.
======================================
UDPOpen
Открыть сокет, соответствующий подключению к имеющемуся серверу.
Синтаксис: UDPOpen ( $IPAddr, $port )
Параметры такиеже как и в UDPBind
Возвращаемое значение:
Массив array, в котором $array[1] равен реальному сокету, $array[2] - указанный IP адрес, а $array[3] - порт. Эта информация требуется в последующих вызовах UDPSend(). В случае ошибки массив array, в котором $array[1] равен -1, а значение @error устанавливается равным номеру ошибки согласно Windows API функции WSAGetLasterror.
Замечания:
Используется обмена данными приложения-клиента с сервером.
======================================
UDPRecv
Получить данные, используя открытый ранее сокет
Синтаксис: UDPRecv ( $socket, $maxlen )
Параметры:
$socket - Главный идентификатор сокета (SocketID), возвращаемый функцией UDPBind.
$maxlen - Максимальное число получаемых символов
Возвращаемое значение:
Строка данных, переданных через сокет. В случае ошибки возвращается пустая строка "", а значение @error устанавливается равным номеру ошибки согласно Windows API функции WSAGetLasterror.
======================================
UDPSend
Выслать данные, используя открытый ранее сокет
Синтаксис: UDPSend ( $socket, $data )
Параметры:
$socket - Главный идентификатор сокета (SocketID), возвращаемый функцией UDPOpen.
$data - Содержание строки передаваемого текста или бинарной строки в сокет подключения
Возвращаемое значение:
Количество переданных через сокет данных. В случае ошибки возвращается 0, а значение @error устанавливается равным номеру ошибки согласно Windows API функции WSAGetLasterror.
======================================
Ну это в кратце нужные функции...
В общем делаю(в кратце):
$bindport = UDPBind (127.0.0.1, 16770) ;открываю порт для приёма данных.
$openport = UDPOpen (127.0.0.1, 16770) ;получаю массив из:
$openport[1] = порт по которому коммфорт отправляет данные,
$openport[2] = !Р адрес,
$openport[3] = порт по которому я отсылаю данные(16770)
$datarecive = UDPRecv ($bindport, 100000) ;запрос на получение данных (у меня он в цикле)
;
$datarecive = строка отправляемая коммфортом...
; далее бла-бла-бла, тело программы...
; и потом выполнение отсылки готового кода $datasend
UDPSend ($openport[1], $datasend)
;в результате 0 эффекта,
$datasend имеет правильный формат, всё по госту короче
![Smile :)](./images/smilies/icon_smile.gif)
Но коммфорт молчит, хотьбы ошибку выдал чтоли...
Спасите заблудшую душу
![Embarassed :oops:](./images/smilies/icon_redface.gif)