回答
我認爲這可能是操作系統的限制 - 我想我記得在幾年前我使用的XP機器上運行了80個套接字的限制。
你是否成功地在80個線程上獨立運行80個套接字? – ramu 2011-05-23 05:46:43
@ramu:不,他們只是80個針對80個客戶開放的winsock對象實例。該計劃像往常一樣事件驅動。線程將如何改變? – quamrana 2011-05-23 08:31:30
我正在編寫獨立進行每個套接字通信的代碼。這就是爲什麼我選擇ActiveX EXE.Client應用程序只是觸發通信,ActiveX EXE會通知客戶端的事件。所以我關心的是兩個方面。 1.)應用程序可以創建的套接字的最大數量(從操作系統的角度來看)2. VB可以提供線程安全性的最大線程數。希望現在清楚:-) – ramu 2011-05-23 09:04:22
我會建議你放棄你的努力,並與商業解決方案。我記得在九十年代重新走上了這條道路,並且在線程運行的時候遇到了ActiveX EXE的磚牆。事情是,ActiveX EXE是單元線程的,而不是自由線程的,所以你不會得到完全獨立的線程。
在現代語言中正確地完成服務器端線程已經夠難了,更不用說那些不是爲此目的而設計的。
我最終從Dart購買了Server Sockets。輕鬆實現該項目的最佳投資。性能真的很棒 - 你只受系統資源的限制。
我正在使用試用版的組件您建議。感謝您分享信息。 – ramu 2011-05-24 05:05:14
MSWINSCK.OCX是一種非常古老的做事方式;它帶有Visual Basic 6.0,我記得在什麼時候使用它。我不確定它的授權......顯然它在32位win7下注冊,但不是64位;這裏有一個如何讓它在64位系統上註冊的鏈接:http://angrybyte.com/windows-hacks/mswinsck-ocx-for-64-bit-windows-7-vista/
如果你有一個MSDN訂閱或類似的,使你能夠下載開發工具(bizSpark等也可以),那麼我相信這也會給你一個重新分配.ocx的許可。
(順便說一句,我真的不記得了接口,但我似乎記得它是至少略高於Berkeley套接字更直觀()接口。)
然而,個人推薦給您的要求:學習API,這裏有很多例子,並且只需要編寫一個類,以類似於.NET Socket類的方式封裝它們;這些API並不那麼難,而且我確定有很多在這裏也有幫助,而且這可能比依靠像控制器這樣過時的東西更好...
- 1. 套接字通信?
- 2. 與TCP套接字(服務器)通信
- 3. C和Python - 與套接字通信
- 4. PHP/Go套接字通信
- 5. 套接字通信失敗
- 6. 通過Java套接字的InterServer通信
- 7. 套接字通信錯誤
- 8. CFStream IOS套接字通信
- 9. Android套接字通信
- 10. PHP套接字UDP通信
- 11. TCP套接字通信
- 12. 通過套接字的Java TCP通信
- 13. ActiveX通信
- 14. 異步套接字 - 與C#中的永久套接字雙工通信
- 15. android中的安全套接字通信
- 16. 在android中的套接字通信
- 17. LAN環境下的套接字通信
- 18. 的iOS簡單套接字通信
- 19. 有關套接字通信的問題
- 20. 使用套接字的TCP/IP通信
- 21. Swils中的Sails.js套接字通信?
- 22. 使用IPv4的套接字通信
- 23. 使用NIO的Java套接字通信
- 24. java中的套接字通信
- 25. Swift的調度套接字通信
- 26. javafx之間的套接字通信
- 27. LUA腳本 - 網絡套接字通信
- 28. 幫助通過NAT與套接字進行通信
- 29. Python - 通過套接字與子進程進行通信
獨立於什麼?並安全地相對於什麼? – Piskvor 2011-05-21 12:18:46
@Piskvor,彼此獨立(ActiveX EXE在獨立進程中運行),並且從線程安全的角度來看是安全的。 – ramu 2011-05-21 12:40:14
就我所見,線程安全並不是一個問題,除非你的意思是別的,而不是我的想法。 「我可以讀取的套接字」聽起來很奇怪,你是問Winsock控制實例是否被主動連接並傳遞數據?如果是這樣,可能接近您在主程序中可以使用的數量。 – Bob77 2011-05-21 16:43:46