Блин, суть я понял, спасибо
То-то я тоже думал, как могут приложения вдвоём на одном порту работать нормально
))
Но всё равно меня тупит по ужасу...
Пишу на
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 имеет правильный формат, всё по госту короче
Но коммфорт молчит, хотьбы ошибку выдал чтоли...
Спасите заблудшую душу