Сеть VBScript / JScript: подключение по протоколу UDP или TCP - PullRequest
5 голосов
/ 14 июня 2011

Как я могу использовать автономный файл VBScript или JScript для подключения к порту на локальном хосте, UDP или TCP (предпочтительно UDP)? Мне нужно отправить команду на определенный порт на localhost. Команда небольшая, и локальный хост не потеряет никаких пакетов (даже если бы это было не так уж плохо), поэтому UDP будет работать отлично, просто отправьте пакет.

Но в настоящее время мне трудно найти какие-либо примеры в сетях VBScript или JScript.

Мне все равно до Windows XP.

1 Ответ

5 голосов
/ 27 июля 2011

VBScript и JScript изначально не имеют возможности напрямую использовать сокеты.Эти языки do позволяют вам взаимодействовать с объектами ActiveX / COM, которые могут использовать сокеты.

Например, вы можете использовать MSXML2.XMLHTTP * 1006.* для разговора с сервером HTTP / HTTPS.

Dim objHTTP
Set objHTTP = CreateObject("MSXML2.XMLHTTP")
objHTTP.open "GET", "http://www.google.com", false
objHTTP.send 
WScript.Echo objHTTP.responseText

Теперь реальный вопрос.Есть ли в Windows объект ActiveX / COM для взаимодействия с необработанными сокетами?Краткий ответ здесь - «Нет», но у вас есть альтернативы.

  • Существует библиотека «Winsock ActiveX» с именем mswinsck.ocx , которая поставляется с очень старыми версиямиVisual Studio (версия 6 и ранее).Тем не менее, заставить эту библиотеку работать будет сложно , так как она предназначена для использования из Visual Basic, а не VBScript.

  • Вы можете приобрести один у третьего лица

  • Вы можете написать самостоятельно.Это может быть больше проблем, чем оно того стоит.Вы будете заходить так далеко от VBScript, что было бы проще отказаться от VBScript и написать для этого подходящую программу.

  • Вы можете переключиться на более подробный язык, такой каккак ActiveState Perl или Python .Оба имеют встроенную поддержку сокетов, но, опять же, это может быть за пределами вашей зоны комфорта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...