C#TcpClient在发送数据后关闭XNA游戏窗口
本文关键字:XNA 游戏 窗口 数据 C#TcpClient | 更新日期: 2023-09-27 18:20:25
我想在XNA4中编写多人游戏。对于发送数据,我使用TcpClient类连接如下:
try{
client.Connect(serverEndPoint);
}
catch (Exception ex){
Console.WriteLine("not connected");
return;
}
if (!client.Connected) return;
NetworkStream stream = client.GetStream();
stream.BeginRead(buf, 0, 1024, new AsyncCallback(PrijmiData), null);
当我想用他的方法发送数据时:
private void Send(byte[] co){
NetworkStream clientStream = client.GetStream();
clientStream.BeginWrite(co, 0, co.Length, new AsyncCallback(Sended), null);
}
private void Sended(IAsyncResult res){
NetworkStream clientStream = client.GetStream();
clientStream.EndWrite(res);
}
服务器接收到数据,但XNA游戏立即结束。为什么?谢谢你的建议。
有时,当您处理这样的异步事情时,即使发生了异常,应用程序也不会抛出适当的异常。
你有没有试过遍历代码,看看它什么时候真正关闭?
我的赌注是Sended方法。试着这样更改它,以查看任何异常(拼写为"已发送",顺便说一句):
private void Sended(IAsyncResult res)
{
try
{
NetworkStream clientStream = client.GetStream();
clientStream.EndWrite(res);
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
}