2013-10-03 98 views
1

我想連接到一個Java服務器套接字扔ASP經典。爲此,當我谷歌然後找到winsock.dll,但它不起作用。我嘗試下面的代碼來創建對象如何從vbscript連接到Socket

 
Dim x 
Set x = CreateObject("MSWINSOCK.Winsock.1") 

但是錯誤是無法創建對象。所以任何機構都可以告訴我怎樣才能連接到一個特定的端口插入vbscript。有沒有其他的微軟提供的COM對象,以便我們可以信任並使用它。

+2

可能重複[VBScript/JScript網絡:連接UDP或TCP](http://stackoverflow.com/questions/6348907/vbscript-jscript-networking-connect-either-udp-or-tcp)。附錄中提供了答案:還有提供TCP/UDP套接字功能的免費第三方控件,例如[Dimac]的w3sockets(http://www.dimac.net/default3.asp?M=FreeDownloads/Menu.asp&P=FreeDownloads/FreeDownloadsstart.asp)。 –

回答

2

MSWINSOCK組件不由winsock.dll提供,它由MSWinsck.ocx提供。

您可以通過查看在HKEY_CLASSES_ROOT\MSWinsock.Winsock下的RegEdit.exe來檢查它。

這個控件只有32位,所以它只有在運行32位主機的腳本時才能工作。

我懷疑你要麼沒有安裝它,要麼在64位操作系統下運行你的腳本。

如果是後者,則應該從32位主機上啓動的腳本如下所示:

c:\windows\syswow64\cscript.exe //nologo c:\path\to\script.wsf /argument:value 

或:

c:\windows\syswow64\wscript.exe //nologo c:\path\to\script.wsf /argument:value 

不過說真的,我建議你不應該試圖一般的網絡通信應用來自VBScript。嘗試使用VB.Net。

+0

您好我正在使用32位Windows Server 2003,並且我在註冊表中搜索MSwinsock.Winsock,但它不存在。我正在通過網絡上的asp classic做這件事。請指導我如何發送請求到一個套接字,並從那裏接收消息從asp經典的Windows服務器系統爲32位和64位 –

+1

它也不附帶Windows Server 2003.如果你有Visual Basic 6它雖然是可再發行組件的一部分。 – Ben

+0

我的建議是創建一個DCOM服務器來完成這項工作,並從ASP經典頁面調用DCOM服務器。您可以使用VB.Net或C#創建DCO​​M可執行服務器。 – Ben