diff options
Diffstat (limited to 'OpenSim/Region/ClientStack/UDPServer.cs')
-rw-r--r-- | OpenSim/Region/ClientStack/UDPServer.cs | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/OpenSim/Region/ClientStack/UDPServer.cs b/OpenSim/Region/ClientStack/UDPServer.cs index 45eb0cd..8b4a3cb 100644 --- a/OpenSim/Region/ClientStack/UDPServer.cs +++ b/OpenSim/Region/ClientStack/UDPServer.cs | |||
@@ -101,7 +101,23 @@ namespace OpenSim.Region.ClientStack | |||
101 | ipeSender = new IPEndPoint(IPAddress.Parse("0.0.0.0"), 0); | 101 | ipeSender = new IPEndPoint(IPAddress.Parse("0.0.0.0"), 0); |
102 | epSender = (EndPoint)ipeSender; | 102 | epSender = (EndPoint)ipeSender; |
103 | Packet packet = null; | 103 | Packet packet = null; |
104 | int numBytes = Server.EndReceiveFrom(result, ref epSender); | 104 | |
105 | int numBytes; | ||
106 | |||
107 | try | ||
108 | { | ||
109 | numBytes = Server.EndReceiveFrom(result, ref epSender); | ||
110 | } | ||
111 | catch (System.Net.Sockets.SocketException) | ||
112 | { | ||
113 | Console.WriteLine("Remote host Closed connection"); | ||
114 | this._packetServer.ConnectionClosed(this.clientCircuits[epSender]); | ||
115 | ipeSender = new IPEndPoint(IPAddress.Parse("0.0.0.0"), 0); | ||
116 | epSender = (EndPoint)ipeSender; | ||
117 | Server.BeginReceiveFrom(RecvBuffer, 0, RecvBuffer.Length, SocketFlags.None, ref epSender, ReceivedData, null); | ||
118 | return; | ||
119 | } | ||
120 | |||
105 | int packetEnd = numBytes - 1; | 121 | int packetEnd = numBytes - 1; |
106 | 122 | ||
107 | packet = Packet.BuildPacket(RecvBuffer, ref packetEnd, ZeroBuffer); | 123 | packet = Packet.BuildPacket(RecvBuffer, ref packetEnd, ZeroBuffer); |