-1

我在 VB .Net 中制作了一个使用 tcp 并来回发送消息的游戏。

发生的情况是,每隔一段时间,消息就不能足够快地发送,因此该TCPObj.connect()方法进入一个循环,直到它达到超时,然后吐出一个错误。但大多数时候,它永远不会出错,我的应用程序只是冻结,然后在TCPObj.connect()成功后返回。如何在connect()尝试连接时使该方法执行 application.doevents ?基本上,我不希望它冻结我的整个应用程序。由于tcp.connect()是 .NET 方法,我无法进去添加application.doevents.

4

2 回答 2

1

在单独的线程上运行 TCP 连接代码。您可以使用队列来存储要从 UI 发送的事件,并让单独的线程提取并处理它们。

于 2009-08-12T00:12:02.577 回答
0

将与 TCP 的连接放在另一个线程中。您可以使用异步回调返回主线程。如果由于超时而在另一个线程上出错,您可以在那里或在主线程上处理它。

于 2009-08-12T00:12:07.633 回答