【发布时间】:2012-06-12 04:03:47
【问题描述】:
我已经为我正在开发的 XNA 游戏设置了一个成功的 Tcp 服务器,我已经在代码中实现了客户端,但是我在接收消息时遇到了问题。我知道它必须为收到的每条消息进行更新,但只要我更新接收,XNA 就会冻结?我该如何解决这个问题?
【问题讨论】:
标签: c# sockets networking tcpclient multiplayer
我已经为我正在开发的 XNA 游戏设置了一个成功的 Tcp 服务器,我已经在代码中实现了客户端,但是我在接收消息时遇到了问题。我知道它必须为收到的每条消息进行更新,但只要我更新接收,XNA 就会冻结?我该如何解决这个问题?
【问题讨论】:
标签: c# sockets networking tcpclient multiplayer
尝试改为异步调用消息。你在使用 WCF 吗?
如果您使用的是 TcpClient(您的其他问题提到了它...),请尝试查看 BeginConnect 方法 (http://msdn.microsoft.com/en-us/library/ms145193.aspx) 并传入一个 AsyncCallback 对象 - AsyncCallback 上的 MSDN 页面(这里 - http://msdn.microsoft.com/en-us/library/system.asynccallback.aspx)有一个异步 TcpClient 调用的示例。
这应该会阻止 XNA 在等待响应时冻结。
【讨论】: