Make sure client is connected before sending packet.

This commit is contained in:
Deathmax 2011-07-04 17:58:12 +08:00
parent 169d1a02d4
commit 949256dd1a

View file

@ -470,10 +470,13 @@ namespace TShockAPI
writer.Write(length); writer.Write(length);
NetMessage.buffer[e.remoteClient].writeBuffer = stream.GetBuffer(); NetMessage.buffer[e.remoteClient].writeBuffer = stream.GetBuffer();
try try
{
if (Netplay.serverSock[e.remoteClient].tcpClient.Connected)
{ {
NetMessage.buffer[e.remoteClient].spamCount++; NetMessage.buffer[e.remoteClient].spamCount++;
Netplay.serverSock[e.remoteClient].networkStream.BeginWrite(NetMessage.buffer[e.remoteClient].writeBuffer, 0, (int)stream.Length, new AsyncCallback(Netplay.serverSock[e.remoteClient].ServerWriteCallBack), Netplay.serverSock[e.remoteClient].networkStream); Netplay.serverSock[e.remoteClient].networkStream.BeginWrite(NetMessage.buffer[e.remoteClient].writeBuffer, 0, (int)stream.Length, new AsyncCallback(Netplay.serverSock[e.remoteClient].ServerWriteCallBack), Netplay.serverSock[e.remoteClient].networkStream);
} }
}
catch { } catch { }
NetMessage.buffer[e.remoteClient].writeLocked = false; NetMessage.buffer[e.remoteClient].writeLocked = false;
e.Handled = true; e.Handled = true;