<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; VBScript: Не могу послать данные в порт через WinSock]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=5536&amp;type=atom" />
	<updated>2011-02-20T15:25:22Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=5536</id>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Не могу послать данные в порт через WinSock]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=45301#p45301" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>VSVLAD пишет:</cite><blockquote><p>У меня ошибок нет, поставил вместо IP адрес яндекса и порт сменил. Плюс по коду:<br />1) bConnected чему равна?<br />2) Константы не определены в коде?</p></blockquote></div><div class="codebox"><pre><code>Sub Winsock_Connect
  bConnected=true
End Sub</code></pre></div><p>Soket.dll от <a href="http://tech.dimac.net/">http://tech.dimac.net/</a> почему-то работает. Но мне с ней не очень удобно получается - там нет события <strong>Winsock_DataArrival</strong>, просто функция <strong>GetLine</strong>.<br />А мне кроме всего прочего раз в 10 сек. надо слать команду, чтобы эта железяка не отваливалась по своему таймауту.<br />В стандартном WinSock я сижу в цикле и через Wscript.Sleep 9000 посылаю команду (полылал бы - но на SendData почему-то ругается).</p><p>Сейчас работает так:<br /></p><div class="codebox"><pre><code>Set oSocket = CreateObject(&quot;Socket.TCP&quot;)
oSocket.Host = &quot;192.168.1.1:9005&quot;
oSocket.Open
While not oSocket.Connected
  WScript.Echo &quot;open port&quot;
Wend

sl(&quot;li:2:10000016:&quot;)
sl(&quot;tm:a:&quot;)

tt=Timer
While True
  WScript.Sleep 100
  If oSocket.BytesInBuffer &gt; 0 Then &#039; если есть данные в буфере, читаем строку
    in_Str = oSocket.GetLine
    if InStr(in_Str,&quot;ka:&quot;) = 0 Then &#039; выводим строку, если она не &quot;ka:&quot;
      WScript.Echo in_Str
     end if
  Else
    If Timer &gt;= tt+10 Then &#039; если насчитали 10 сек, шлем &quot;ka:&quot;
      sl(&quot;ka:&quot;)
      tt=Timer
    End if
  End If
Wend

&#039;***************************
Function sl(ln)
oSocket.SendLine ln
End Function</code></pre></div>]]></content>
			<author>
				<name><![CDATA[dandyd]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24647</uri>
			</author>
			<updated>2011-02-20T15:25:22Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=45301#p45301</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Не могу послать данные в порт через WinSock]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=45297#p45297" />
			<content type="html"><![CDATA[<p>У меня ошибок нет, поставил вместо IP адрес яндекса и порт сменил. Плюс по коду:<br />1) bConnected чему равна?<br />2) Константы не определены в коде?</p>]]></content>
			<author>
				<name><![CDATA[VSVLAD]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24998</uri>
			</author>
			<updated>2011-02-20T14:43:13Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=45297#p45297</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Не могу послать данные в порт через WinSock]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=45285#p45285" />
			<content type="html"><![CDATA[<p><span style="color: Green"><strong>dandyd</strong>, указывайте <a href="http://forum.script-coding.com/rules.html#3.1.">префикс языка</a> в заголовке темы. Я добавил.</span></p><p><span style="color: Green">Используйте <a href="http://forum.script-coding.com/help.php#bbcode">тэг «code»</a> для оформления кода на форуме. Я поправил.</span></p><p><span style="color: Green">Пишите предложения с заглавной буквы и используйте знаки препинания. Я исправил.</span></p><p><span style="color: Green">В будущем делайте сие сами.</span></p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2011-02-20T11:32:34Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=45285#p45285</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Не могу послать данные в порт через WinSock]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=45283#p45283" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>VSVLAD пишет:</cite><blockquote><p>Попробуй убрать скобки у метода SendData</p></blockquote></div><p><span style="color: Green"><strong>Н</strong></span>е помогло<span style="color: Green"><strong>.</strong></span></p>]]></content>
			<author>
				<name><![CDATA[dandyd]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24647</uri>
			</author>
			<updated>2011-02-20T11:17:07Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=45283#p45283</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Не могу послать данные в порт через WinSock]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=45282#p45282" />
			<content type="html"><![CDATA[<p>Попробуй убрать скобки у метода SendData</p>]]></content>
			<author>
				<name><![CDATA[VSVLAD]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24998</uri>
			</author>
			<updated>2011-02-20T11:10:45Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=45282#p45282</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[VBScript: Не могу послать данные в порт через WinSock]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=45281#p45281" />
			<content type="html"><![CDATA[<p>Может быть кто сталкивался с проблемой: <br />Пытаюсь послать данные на порт удаленного компа<span style="color: Green"><strong>.</strong></span> <span style="color: Green"><strong>П</strong></span>орт открывается, читать оттуда можно (GetData)<span style="color: Green"><strong>,</strong></span> а на SendData выдает ошибку - Объект не поддерживает это свойство или метод: &#039;tcpClient.SendData&#039;<span style="color: Green"><strong>.</strong></span> FireWall отключен<span style="color: Green"><strong>.</strong></span></p><p><span style="color: Green"><strong>Ф</strong></span>рагмент кода:<br /></p><div class="codebox"><pre><code>Set tcpClient=WScript.CreateObject(&quot;MSWinsock.Winsock&quot;) 
WScript.ConnectObject tcpClient,&quot;tcpClient_&quot; 
tcpClient.Protocol = sckTCPProtocol 
tcpClient.RemoteHost = &quot;192.168.1.1&quot; 
tcpClient.RemotePort = 9005 
tcpClient.Connect 
 
start_time = second(Now) 
Do While (tcpClient.State &lt;&gt; sckConnected) or (second(Now) &gt;= start_time+3) 
  WScript.Echo &quot;open port...&quot; 
  WScript.Sleep 500 
Loop 
 
if not bConnected Then 
  WScript.Echo &quot;timeout&quot; 
  WScript.Quit 
Else 
  tcpClient.SendData(&quot;li:2:10000016:&quot;) 
end If</code></pre></div><div class="quotebox"><blockquote><p>test_port.vbs(18, 3) Ошибка выполнения Microsoft VBScript: Объект не поддерживает это свойство или метод: &#039;tcpClient.SendData&#039;</p></blockquote></div>]]></content>
			<author>
				<name><![CDATA[dandyd]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24647</uri>
			</author>
			<updated>2011-02-20T11:00:33Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=45281#p45281</id>
		</entry>
</feed>
