<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; HTA: OstroSoft Winsock Component]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=8388</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=8388&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «HTA: OstroSoft Winsock Component».]]></description>
		<lastBuildDate>Mon, 29 Jul 2013 21:27:43 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: HTA: OstroSoft Winsock Component]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=74098#p74098</link>
			<description><![CDATA[<p>Исправьте, пожалуйста, ссылку на <a href="http://www.ostrosoft.com/oswinsck.aspx">http://www.ostrosoft.com/oswinsck.asp<strong><span class="bbu">x</span></strong></a>.</p>]]></description>
			<author><![CDATA[null@example.com (shiz)]]></author>
			<pubDate>Mon, 29 Jul 2013 21:27:43 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=74098#p74098</guid>
		</item>
		<item>
			<title><![CDATA[Re: HTA: OstroSoft Winsock Component]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=73112#p73112</link>
			<description><![CDATA[<p><strong>mozers</strong>, спасибо!</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Wed, 19 Jun 2013 11:39:16 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=73112#p73112</guid>
		</item>
		<item>
			<title><![CDATA[Re: HTA: OstroSoft Winsock Component]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=73110#p73110</link>
			<description><![CDATA[<p>Так и не дождавшись бурного обсуждения опубликовал примеры в <a href="http://forum.script-coding.com/viewtopic.php?pid=73108">Коллекции</a></p>]]></description>
			<author><![CDATA[null@example.com (mozers)]]></author>
			<pubDate>Wed, 19 Jun 2013 11:21:56 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=73110#p73110</guid>
		</item>
		<item>
			<title><![CDATA[Re: HTA: OstroSoft Winsock Component]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=72958#p72958</link>
			<description><![CDATA[<p>2<strong>max7</strong><br />WSO - штука, конечно, хорошая. Но, убей меня - не пойму зачем мне тащить еще эту, достаточно &quot;тяжелую&quot; библиотеку, когда все и без нее прекрасно работает?<br />Лучше уж использовать WSO там, где без нее не обойтись.</p><p>Кстати, мне всегда казалось весьма странным что при серьезной популярности этой библиотеки в сети практически отсутсвуют полноценные проекты ее использующие <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (mozers)]]></author>
			<pubDate>Fri, 14 Jun 2013 08:42:16 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=72958#p72958</guid>
		</item>
		<item>
			<title><![CDATA[Re: HTA: OstroSoft Winsock Component]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=72931#p72931</link>
			<description><![CDATA[<p>Изучите и используйте WSO <a href="http://www.veretennikov.org/WSO/">http://www.veretennikov.org/WSO/</a>.<br />С помощью объекта&nbsp; COMEvents <a href="http://www.veretennikov.org/WSO/Help/html/interface_c_o_m_events.html%20">http://www.veretennikov.org/WSO/Help/ht … ents.html </a><br />можно подписываться на асинхронные события почти любых activex-компонентов (которые реализуют &quot;connection point&quot;).</p>]]></description>
			<author><![CDATA[null@example.com (max7)]]></author>
			<pubDate>Wed, 12 Jun 2013 23:08:35 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=72931#p72931</guid>
		</item>
		<item>
			<title><![CDATA[Re: HTA: OstroSoft Winsock Component]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=72928#p72928</link>
			<description><![CDATA[<p>2<strong>alexii</strong><br />Хорошо, добавлю. Только вначале давайте опробуем, покритикуем... <img src="//forum.script-coding.com/img/smilies/wink.png" width="15" height="15" /><br />Взаимодействие получается низкоуровневое =&gt; надо знать особенности протоколов. Например, у меня навскидку не получилось подключится по telnet к принтеру. Посылаю туда &quot;/\r\n&quot;, а он, вместо перечня текущих установок, возвращает лишь пару нечитабельных символов <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (mozers)]]></author>
			<pubDate>Wed, 12 Jun 2013 16:42:27 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=72928#p72928</guid>
		</item>
		<item>
			<title><![CDATA[Re: HTA: OstroSoft Winsock Component]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=72927#p72927</link>
			<description><![CDATA[<p><strong>mozers</strong>, а в Коллекцию можете добавить про этот компонент?</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Wed, 12 Jun 2013 13:54:30 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=72927#p72927</guid>
		</item>
		<item>
			<title><![CDATA[Re: HTA: OstroSoft Winsock Component]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=72924#p72924</link>
			<description><![CDATA[<p>Нашел таки (тут же на форуме) как еще можно задавать обработчики эвентов:</p><div class="codebox"><pre><code>function oWinsock::OnConnect() {...}</code></pre></div><p>Так что вопрос - снят. В сканнер добавлю &quot;рюшечек&quot; и, вероятно, включу в пакет <a href="http://forum.script-coding.com/viewtopic.php?id=6336">LAN Administrator</a>.</p>]]></description>
			<author><![CDATA[null@example.com (mozers)]]></author>
			<pubDate>Wed, 12 Jun 2013 11:57:32 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=72924#p72924</guid>
		</item>
		<item>
			<title><![CDATA[HTA: OstroSoft Winsock Component]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=72923#p72923</link>
			<description><![CDATA[<p>Недавно случайно наткнулся на один интересный ActiveX, называется &quot;<a href="http://www.ostrosoft.com/oswinsck.asp">OstroSoft Winsock Component</a>&quot;.<br />Разработчик - отечественный, компонент бесплатный для использования в некоммерческих приложениях.<br /><a href="http://www.ostrosoft.com/download/oswinsck.zip">По ссылке скачивается zip</a> с документацией и примерами использования на vbs, js, sql,...<br />Программный доступ к Winsock открывает нам широчайшие возможности для построения самых разнообразных приложений использующих протокол TCP/IP. В примерах приведена процедура загрузки web-страницы по протоколу http. Таким же макаром можно загружать файлы по ftp. Один умелец сочинил <a href="http://admin-scripting.blogspot.ru/2009/09/web-jscript-wsh.html">web-сервер на JS</a>. Так же можно реализовать Telnet-сервер или клиента. Или, например, сочинить сетевой чат. Все зависит от вашей фантазии.<br />Для задания обработчиков прерываний используется следующий трюк:</p><div class="codebox"><pre><code>oWinsock = new ActiveXObject(&quot;OSWINSCK.Winsock&quot;);
WScript.ConnectObject(oWinsock, &quot;oWinsock_&quot;);
function oWinsock_OnConnect() {...};
function oWinsock_OnDataArrival(bytesTotal) {...};</code></pre></div><p>Такой способ не годится для web-приложений, т.к. обращение к WScript с веб-страницы лишено смысла.<br />Задание обработчика обычным порядком так же не удаётся</p><div class="codebox"><pre><code>oWinsock.OnConnect = function() {...};</code></pre></div><p>Объект полагает что я пытаюсь задать свойство или метод и говорит что такие отсутствуют.<br /><span style="color: green">Как таким способом задать обработчик? Я так и не догадался <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /> Надеюсь на помощь спецов.</span><br />Пока пользуюсь несколько громоздким и, я слышал, &quot;не рекомендованным&quot; методом:</p><div class="codebox"><pre><code>&lt;script for=&quot;oWinsock&quot; event=&quot;OnConnect()&quot; type=&quot;text/javascript&quot;&gt;...&lt;/script&gt;</code></pre></div><p><strong>Пример загрузки html кода веб-страницы</strong>:</p><div class="codebox"><pre><code>&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv=content-type content=&quot;text-html; charset=utf-8&quot;&gt;
&lt;meta http-equiv=MSThemeCompatible content=yes&gt;
&lt;hta:application
    innerBorder=no
    scroll=no
    selection=no
    contextMenu=no
    singleinstance=yes
&gt;
&lt;title&gt;Get Page with OstroSoft Winsock component&lt;/title&gt;
&lt;object id=&quot;oWinsock&quot; style=&quot;display:none;&quot; classid=&quot;CLSID:37F9EE2B-98A7-49D7-B505-94DFCE7FAC60&quot;&gt;&lt;/object&gt;
&lt;script for=&quot;oWinsock&quot; event=&quot;OnConnect()&quot; type=&quot;text/javascript&quot;&gt;
    oWinsock.SendData(&#039;GET /&#039; + sPage + &#039; HTTP/1.0\r\nHost: &#039; + sHost + &#039;\r\nAccept: text/html\r\n\r\n&#039;);
&lt;/script&gt;
&lt;script for=&quot;oWinsock&quot; event=&quot;OnError(Number, Description, Scode, Source, HelpFile, HelpContext, CancelDisplay)&quot; type=&quot;text/javascript&quot;&gt;
    alert(Number + &#039;: &#039; + Description);
&lt;/script&gt;
&lt;script for=&quot;oWinsock&quot; event=&quot;OnDataArrival(bytesTotal)&quot; type=&quot;text/javascript&quot;&gt;
    idSource.insertAdjacentText(&#039;BeforeEnd&#039;, oWinsock.GetDataBuffer());
    oWinsock.CloseWinsock();
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;

var sPage = &#039;&#039;;
var sHost = &#039;&#039;;

function Connect(){
    idSource.innerText = &quot;&quot;;
    if (/^(\w+?:\/\/)*([^\/:]+):*(\d*)\/*(.*?)$/.test(idURL.value)) {
        sHost = RegExp.$2;
        var nPort = RegExp.$3 || 80;
        sPage = RegExp.$4;

        alert(&quot;Host:\t&quot;+sHost+&quot;\nPort:\t&quot;+nPort+&quot;\nPage:\t&quot;+sPage);
        oWinsock.Connect(sHost, nPort);
    } else {
        alert(&quot;Invalid URL&quot;);
    }
}
&lt;/script&gt;
&lt;/head&gt;
&lt;body style=&quot;background-color:threedface;&quot;&gt;
    &lt;table style=&quot;width:100%; height:100%&quot;&gt;
        &lt;tr&gt;
            &lt;td style=&quot;width:100%;&quot;&gt;&lt;input id=&quot;idURL&quot; type=&quot;text&quot; value=&quot;http://www.ostrosoft.com/oswinsck.asp&quot; style=&quot;width:100%;&quot;&gt;&lt;/td&gt;
            &lt;td&gt;&lt;input type=button onClick=&quot;Connect()&quot; value=GetPage hidefocus&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style=&quot;height:100%&quot;&gt;
            &lt;td colspan=&quot;2&quot;&gt;&lt;textarea id=&quot;idSource&quot; style=&quot;width:100%; height:100%&quot;&gt;&lt;/textarea&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/table&gt;
&lt;/body&gt;
&lt;/html&gt;</code></pre></div><p><strong>Пример сканера открытых портов на локальном или удаленном ПК</strong>:</p><div class="codebox"><pre><code>&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv=content-type content=&quot;text-html; charset=utf-8&quot;&gt;
&lt;meta http-equiv=MSThemeCompatible content=yes&gt;
&lt;hta:application
    innerBorder=no
    scroll=no
    selection=no
    contextMenu=no
    singleinstance=yes
&gt;
&lt;title&gt;Ports Scanner&lt;/title&gt;
&lt;object id=&quot;oWinsock&quot; style=&quot;display:none;&quot; classid=&quot;CLSID:37F9EE2B-98A7-49D7-B505-94DFCE7FAC60&quot;&gt;&lt;/object&gt;
&lt;script for=&quot;oWinsock&quot; event=&quot;OnConnect()&quot; type=&quot;text/javascript&quot;&gt;
    oWinsock.CloseWinsock();
&lt;/script&gt;
&lt;script for=&quot;oWinsock&quot; event=&quot;OnError(Number, Description, Scode, Source, HelpFile, HelpContext, CancelDisplay)&quot; type=&quot;text/javascript&quot;&gt;
    Logging(&#039;CLOSE\n&#039;);
    Check();
&lt;/script&gt;
&lt;script for=&quot;oWinsock&quot; event=&quot;OnClose()&quot; type=&quot;text/javascript&quot;&gt;
    var m = new Date();
    Logging(&#039;OPEN (&#039;+ (m-t) + &#039; ms)\n&#039;);
    Check();
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;

var t;
var aPorts = [21,22,23,25,80,110,139,143,445,1433,1521,3306,3389,5631,5900];
var i = 0;

function Check(){
    if (i &lt; aPorts.length){
        var nPort = aPorts[i];
        Logging(nPort + &#039;\t&#039;);
        t = new Date();
        oWinsock.Connect(idHost.value, nPort);
        i++;
    }
}

function Logging(text){
    idLog.insertAdjacentText(&#039;BeforeEnd&#039;, text);
}

window.resizeTo(280, 380);
&lt;/script&gt;
&lt;/head&gt;
&lt;body style=&quot;background-color:threedface;&quot;&gt;
    &lt;table style=&quot;width:100%; height:100%&quot;&gt;
        &lt;tr&gt;
            &lt;td&gt;Host:&lt;/td&gt;
            &lt;td style=&quot;width:100%;&quot;&gt;&lt;input id=&quot;idHost&quot; type=&quot;text&quot; value=&quot;127.0.0.1&quot; style=&quot;width:100%;&quot;&gt;&lt;/td&gt;
            &lt;td&gt;&lt;input type=button onClick=&quot;idLog.innerText=&#039;&#039;; Check()&quot; value=CheckPorts hidefocus&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style=&quot;height:100%&quot;&gt;
            &lt;td colspan=&quot;3&quot;&gt;&lt;textarea id=&quot;idLog&quot; style=&quot;width:100%; height:100%&quot;&gt;&lt;/textarea&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/table&gt;
&lt;/body&gt;
&lt;/html&gt;</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (mozers)]]></author>
			<pubDate>Wed, 12 Jun 2013 10:57:39 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=72923#p72923</guid>
		</item>
	</channel>
</rss>
