2009-08-14 39 views
1

我從來不喜歡用於winsock編程的組件,但我很喜歡它的自然方式,但今天我的同事告訴我使用Indy作爲我的項目。請告訴我Indy是否可以替代我的項目? -2 TCP服務器,2 TCP客戶端.4套接字總數 - 該項目是一個代理。是WSAASyncSelect夠好嗎?你能否提出一個替代方案? Indy更好嗎?

現在第二個問題,我每天都讀到WSAASyncSelect不好,這是可以預測的,它來自於winsock 1.1。我的問題是:建議一些比AsyncSelect更好的手勢。

謝謝。

回答

2

我的首選項傾向於依靠synapse來完成我所有的套接字工作,因爲它的輕量級和易於理解的方法。它不是一個組件體系結構,但是類體系結構和實現通常與複製其中一個現有的幫助類並修改它以執行所需的確切步驟一樣簡單。 Synapse也有一個很好的用戶社區,並且正在積極開發中,以便從svn快照中獲得最新的變化(我相信它的修訂版本98,該網站有一個修訂版本38)。

1

是的,Indy更好,因爲它爲您提供了一致的winsock通信抽象。區別就像使用WinApi創建窗口並簡單地使用TForm。

1

是的,Indy更好。 ICS,Synapse或其他任何與互聯網相關的組件集也是如此。他們處理所有細節,並讓您處理應用程序的實際功能,而不是在通信層細節上浪費時間。它們也比你自己的代碼有望得到更好的測試(因爲更廣泛的用戶羣和更廣泛的硬件和操作系統)。

如果有良好的結構,良好的維護和廣泛使用的替代品,特別是當這些替代品是免費的(如Indy和ICS)時,NIH(這裏沒有發明)是一個非常糟糕的主意。

相關問題