diff options
author | Teravus Ovares | 2007-12-18 12:33:29 +0000 |
---|---|---|
committer | Teravus Ovares | 2007-12-18 12:33:29 +0000 |
commit | f79a50062147b50f47e61f4a4162d6f01e590d34 (patch) | |
tree | 90215cc54c59fc5bc72abf7b892420fdab0d5095 /OpenSim/Region | |
parent | * Added Incomplete Handling of the RegionInfoRequest packet (diff) | |
download | opensim-SC-f79a50062147b50f47e61f4a4162d6f01e590d34.zip opensim-SC-f79a50062147b50f47e61f4a4162d6f01e590d34.tar.gz opensim-SC-f79a50062147b50f47e61f4a4162d6f01e590d34.tar.bz2 opensim-SC-f79a50062147b50f47e61f4a4162d6f01e590d34.tar.xz |
* Sakai appears to be having some sort of socket error that we've not accounted for. We're going to assume that our endpoint is okay and continue reading.
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/ClientStack/UDPServer.cs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/OpenSim/Region/ClientStack/UDPServer.cs b/OpenSim/Region/ClientStack/UDPServer.cs index 64381b4..f91e5e2 100644 --- a/OpenSim/Region/ClientStack/UDPServer.cs +++ b/OpenSim/Region/ClientStack/UDPServer.cs | |||
@@ -120,6 +120,7 @@ namespace OpenSim.Region.ClientStack | |||
120 | case SocketError.AlreadyInProgress: | 120 | case SocketError.AlreadyInProgress: |
121 | case SocketError.NetworkReset: | 121 | case SocketError.NetworkReset: |
122 | case SocketError.ConnectionReset: | 122 | case SocketError.ConnectionReset: |
123 | |||
123 | try | 124 | try |
124 | { | 125 | { |
125 | CloseEndPoint(epSender); | 126 | CloseEndPoint(epSender); |
@@ -154,6 +155,23 @@ namespace OpenSim.Region.ClientStack | |||
154 | { | 155 | { |
155 | //MainLog.Instance.Verbose("UDPSERVER", a.ToString()); | 156 | //MainLog.Instance.Verbose("UDPSERVER", a.ToString()); |
156 | } | 157 | } |
158 | try | ||
159 | { | ||
160 | Server.BeginReceiveFrom(RecvBuffer, 0, RecvBuffer.Length, SocketFlags.None, ref epSender, ReceivedData, null); | ||
161 | |||
162 | // Ter: For some stupid reason ConnectionReset basically kills our async event structure.. | ||
163 | // so therefore.. we've got to tell the server to BeginReceiveFrom again. | ||
164 | // This will happen over and over until we've gone through all packets | ||
165 | // sent to and from this particular user. | ||
166 | // Stupid I know.. | ||
167 | // but Flusing the buffer would be even more stupid... so, we're stuck with this ugly method. | ||
168 | |||
169 | } | ||
170 | catch (SocketException) | ||
171 | { | ||
172 | |||
173 | } | ||
174 | |||
157 | // Here's some reference code! :D | 175 | // Here's some reference code! :D |
158 | // Shutdown and restart the UDP listener! hehe | 176 | // Shutdown and restart the UDP listener! hehe |
159 | // Shiny | 177 | // Shiny |