最近在做期货行情的自动化,由于需要集成到现有的QTP自动化框架中,所以就需要使用VBS脚本发送UDP报文,在网络上搜索了相关资料,遇到了一些问题,经历了一些波折,所以稍作整理,以飨可能同样需要使用的朋友~
需要使用VB6的控件MSWINSCK.OCX,具体操作如下:
1、把 MSWINSCK.OCX 放到 C:\WINDOWS\system32 目录下;
2、点击开始-运行,然后输入regsvr32.exe MSWINSCK.OCX,进行注册;
3、运行vbctrls.reg,注册MSWINSCK.OCX控件的秘钥;【否则会报错:类别未授权使用】
4、重启电脑,可以使用VBS进行socket编程了;【特别注意,需要重启电脑!!】
再给个简单的例子:
dim sendata
'创建Winsock对像
set sock = WScript.createobject("MSWinsock.Winsock")
sock.AboutBox
'使用UDP协议
sock.Protocol=1
'建立连接
sock.Connect "127.0.0.1",8888
'定义要发送的数据
sendata="0 186IF1409,2148.0,2148.0,2144.4,2143.8,5,5,2144.4,4,4,2159.0,2140.4,2148.3,0,10249,0,6605478720.0,2362.8,1933.2,4,0,0,0,0,2145.0,29343,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255.255.255.255"&chr(13)
'发送我们要发的数据
sock.senddata sendata
以上均为本人亲自验证通过~
所需文件下载地址:http://download.youkuaiyun.com/detail/zhouzhou423/7596555