我在这里问了很多关于 WSAAsyncSelect 和 NET 的问题。几个月前,我什至在赏金上花了 500 个代表并自己回答(我做了一个包装器)。最后我习惯了框架中的 winsock。
今天我问的是非托管语言,不好的一点是我错过了使用套接字做事的框架方式。我正在用 Delphi 编写我的项目,但我理解类 C 语言,所以没问题,我' 甚至不要求任何代码。我喜欢自然的东西,所以请不要建议任何组件,只有纯代码。:)
人们说最好创建另一个隐藏表单并在那里设置消息循环以正确使用 AsyncSelect。
好吧,我的问题很简单:我把我写的整个winsock函数放在那个隐藏的表单里让我的生活更轻松,我还用它的句柄设置了WSaAsyncSelect,消息循环也在那里,但是我写了子类(很多类,巨大的代码),父类是隐藏的形式。
WSAAsyncSelect 是线程安全的吗?这会减慢事情的速度(我在课堂上做了什么)?
我必须在消息循环之外创建线程吗?
任何其他正确使用 AsyncSelect 的技巧将不胜感激。
编辑:为避免任何误解,我直接询问 AsyncSelect()。我从事的项目需要 2 个服务器和 1 个客户端,我认为可以通过该调用很好地处理它们。