VBS中Socket通过TCP协议发送数据

问题是一个接着一个:
在使用MSWINsock.Winsock通过TCP发送数据到Server的时候,提示如下错误:
图片说明
代码如下:
Dim sock,socket
'赋值sock变量为WINSOCK的对象
Set sock = Wscript.createobject("MSWINsock.Winsock")
sock.Protocol = 0
sock.RemoteHost = "10.185.59.51"
sock.RemotePort = "9991"
sock.Connect
Wscript.sleep 1
sock.SendData msglog ------- 148行代码
sock.Close

哪位大神遇到过?求助

经过多次尝试已经解决,并不是sendData只能使用UDP,对TCP同样可以使用。
但是因为TCP是面向连接的可靠性协议,所以需要等待连接状态为connected之后才可以发送数据。
因此增加了等待时间,并且判断状态,从而解决了此问题。
Dim sock,socket
'赋值sock变量为WINSOCK的对象
Set sock = Wscript.createobject("MSWINsock.Winsock")
sock.Protocol = 0
sock.RemoteHost = "10.185.59.51"
sock.RemotePort = "9991"
sock.Connect
Wscript.sleep 2000
if sock.state=7 then
sock.SendData msglog
Wscript.sleep 10
end if
sock.Close

在判断状态时采用循环应该更好,设定间隔时间来检测状态应该会更好。
附状态代码意义:
sckClosed 0 缺省的。关闭
sckOpen 1 打开
sckListening 2 侦听
sckConnectionPending 3 连接挂起
sckResolvingHost 4 识别主机
sckHostResolved 5 已识别主机
sckConnecting 6 正在连接
sckConnected 7 已连接
sckClosing 8 同级人员正在关闭连接
sckError 9 错误