[/img]
At about 60+ CCU on my test rig, the outbound link on the VPS is saturated and starts to experience dropped outbound packets. At this point, some of the .NET clients throw the exception below and the disconnected bit is set (but not the events).
Code: Select all
[SFS - ERROR] TCPSocketLayer: General error reading data from socket: Invalid SFSDataType. Expected: SFS_OBJECT, found: 66 at Sfs2X.Protocol.Serialization.DefaultSFSDataSerializer.DecodeSFSObject (Sfs2X.Util.ByteArray buffer) [0x00000]
at Sfs2X.Protocol.Serialization.DefaultSFSDataSerializer.Binary2Object (Sfs2X.Util.ByteArray data) [0x00000]
at Sfs2X.Entities.Data.SFSObject.NewFromBinaryData (Sfs2X.Util.ByteArray ba) [0x00000]
at Sfs2X.Core.SFSProtocolCodec.OnPacketRead (Sfs2X.Util.ByteArray packet) [0x00000]
at Sfs2X.Core.SFSIOHandler.HandlePacketData (Sfs2X.Util.ByteArray data) [0x00000]
at Sfs2X.Core.SFSIOHandler.OnDataRead (Sfs2X.Util.ByteArray data) [0x00000]
at Sfs2X.Bitswarm.BitSwarmClient.OnSocketData (System.Byte[] data) [0x00000]
at Sfs2X.Core.Sockets.TCPSocketLayer.CallOnData (System.Byte[] data) [0x00000]
at Sfs2X.Core.Sockets.TCPSocketLayer.HandleBinaryData (System.Byte[] buf, Int32 size) [0x00000]
at Sfs2X.Core.Sockets.TCPSocketLayer.Read () [0x00000]
The server still keeps the socket connection for a while though and continuously pumps data into the void until the idle kicks in.
The question is: is this suppose to be the expected behavior of the client to unilaterally drop the connection after the first corrupted packet?
And if so, is there any way to throttle the server then to keep this occurrence to a minimum.