diff options
author | Sean Dague | 2008-06-03 13:49:58 +0000 |
---|---|---|
committer | Sean Dague | 2008-06-03 13:49:58 +0000 |
commit | e713a3c62a521920b39a8f30fe9658cacc74eb3b (patch) | |
tree | dd9fbebbc2d1dd428f5d4798131c7e844e722a8a /OpenSim | |
parent | * minor: Attempted method documentation clarifications related to last two co... (diff) | |
download | opensim-SC-e713a3c62a521920b39a8f30fe9658cacc74eb3b.zip opensim-SC-e713a3c62a521920b39a8f30fe9658cacc74eb3b.tar.gz opensim-SC-e713a3c62a521920b39a8f30fe9658cacc74eb3b.tar.bz2 opensim-SC-e713a3c62a521920b39a8f30fe9658cacc74eb3b.tar.xz |
From: Dong Jun Lan <landj@cn.ibm.com>
Set udp flags correctly to prevent "Socket forcibly closed by host"
errors.
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs index 5fbc7c0..7f221ae 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | |||
@@ -408,6 +408,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
408 | ServerIncoming = new IPEndPoint(listenIP, (int)newPort); | 408 | ServerIncoming = new IPEndPoint(listenIP, (int)newPort); |
409 | m_socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); | 409 | m_socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); |
410 | m_socket.Bind(ServerIncoming); | 410 | m_socket.Bind(ServerIncoming); |
411 | // Add flags to the UDP socket to prevent "Socket forcibly closed by host" | ||
412 | uint IOC_IN = 0x80000000; | ||
413 | uint IOC_VENDOR = 0x18000000; | ||
414 | uint SIO_UDP_CONNRESET = IOC_IN | IOC_VENDOR | 12; | ||
415 | m_socket.IOControl((int)SIO_UDP_CONNRESET, new byte[] { Convert.ToByte(false) }, null); | ||
416 | |||
411 | listenPort = newPort; | 417 | listenPort = newPort; |
412 | 418 | ||
413 | m_log.Info("[SERVER]: UDP socket bound, getting ready to listen"); | 419 | m_log.Info("[SERVER]: UDP socket bound, getting ready to listen"); |