我从不喜欢用于winsock编程的组件,我以自然的方式喜欢它,但今天我的同事告诉我将Indy用于我的项目。你能否告诉我Indy是否更适合我的项目? -2个TCP服务器,2个TCP客户端.4个套接字总数 - 该项目是代理。
现在第二个问题,我每天都读到WSAASyncSelect并不好,这是可预测的,它来自winsock 1.1。我的问题是:建议比asyncSelect更好的东西,以获得胜利。
谢谢。
答案 0 :(得分:2)
由于其轻松且易于理解的方法,我倾向于依赖synapse来完成我的所有套接字工作。它不是组件体系结构,但是类体系结构和实现通常与复制现有助手类之一并对其进行修改以执行所需的确切步骤一样简单。 Synapse也有一个很好的用户社区,并且正在积极开发,以便从svn快照中获取最新的更改(我相信它的修订版98,该网站有一个修订版38的邮编)。
答案 1 :(得分:1)
是的,Indy要好得多,因为它为您提供了一致的winsock通信抽象。区别在于使用WinApi创建窗口,只使用TForm。
答案 2 :(得分:1)
是的,Indy更好。 ICS,或Synapse,或任何其他与互联网相关的组件集也是如此。它们处理所有细节,让您处理应用程序的实际功能,而不是在通信层细节上浪费时间。它们的测试(由于更广泛的用户群和更广泛的硬件和操作系统)也比您自己的代码所希望的要好得多。
NIH(未发明在这里)是一个非常糟糕的主意,如果有完善的,维护良好的,广泛使用的替代品可用,特别是当这些替代品是免费的源(如Indy和ICS)。