2013-08-30 3 views
0

Я создаю приложение через delphi, который передает сообщение через UDP на электронную плату. отправка и прием отлично работают, если только интерфейс lan встает, но если я включу интерфейс wlan (два интерфейса вверх), сообщения не будут получены и ответа не будет. Я предполагаю, что tipudpclient отправляет сообщение через неправильный интерфейс (wlan). есть ли способ изменить широковещательную сеть? и как?указать интерфейс broacast с tidudpclient в delphi

ответ

1

Используйте свойство BoundIP, чтобы указать локальный IP-адрес требуемого интерфейса, который должен связываться TIdUDPClient.

+0

Кажется, что это свойство доступно только в новых версиях indy, я использую delphi6 с родной версией indy, я не нашел это свойство, есть ли другое решение? –

+0

Свойство 'TIdUDPClient.BoundIP' было введено в Indy 10. Delphi 6 поставляется с Indy 8. В Indy 8 и 9 вам придется вручную установить свойство' TIdUDPClient.Binding.IP', а затем вызвать 'TIdUDPClient.Binding .Bind() 'напрямую. Лучшее место для этого - вывести новый класс из «TIdUDPClient» и переопределить виртуальный метод «GetBinding()». –

Смежные вопросы