Not sure what exactly is going on but in our production environment we're getting what looks to be malformed xml data back from the server in the UpdateUserVariables calls. I've included a snip from the log file below. Note this is an intermittent issue, but when it occurs, it causes the .Net library to disconnect from the server.
Code: Select all
SmartFoxMMOClient> Debug - 08/12/2009 12:37:01: [ RECEIVED ]: <msg t='sys'><body action='uVarsUpdate' r='17'><user id='14570' /><vars><var n='P' t='s'><![CDATA[-129.82,4.50,96.27]]></var><var n='R' t='s'><![CDATA[222]]></var></vars></body></msg>='uVarsUpdate' r='17'><user id='15158' /><vars><var n='P' t='s'><![CDATA[-65.71,-5.98,-27.17]]></var><var n='F' t='s'><![CDATA[00000005]]></var></vars></body></msg>, (len: 347)...
SmartFoxMMOClient> Debug - 08/12/2009 12:37:01: Disconnect due to: Text node cannot appear in this state. Line 1, position 184....
SmartFoxMMOClient> ConnectionLost - 08/12/2009 12:37:01: connection was lost...
MMO: Error Connection was lost.
UnityEngine.Debug:Log(Object)
UtDebug:LogError(Object, Int32) (at Assets/PlugIns/Scripts/UtUtilities/UtDebug.cs:47)
MMOClient:Error(Object, MMOErrorEventArgs) (at Assets/zzCommon/Scripts/MMO/MMOClient.cs:446)
Multiplayer.SmartFox.SmartFoxMMOClient:OnError(MMOErrorEventArgs)
Multiplayer.SmartFox.SmartFoxMMOClient:OnConnectionLost()
SmartFoxClientAPI.SmartFoxClient:_DispatchEvent(SFSEvent)
SmartFoxClientAPI.SmartFoxClient:DispatchEvent(SFSEvent)
SmartFoxClientAPI.SmartFoxClient:HandleSocketDisconnection()
SmartFoxClientAPI.SmartFoxClient:Disconnect()
SmartFoxClientAPI.SmartFoxClient:HandleSocketData()
System.MulticastDelegate:invoke_void()
You can see in the data that is received that the error is about midway through the data at "</msg>='uVarsUpdate' r='17'>" where one msg is closed with the </msg> tag and for some reason the beginning of the next message is not properly started.
Now, I'm not super familiar with SFS but it looks like the server is sending back bad data that the client cannot handle. It appears that this occurs when multiple messages are packaged together at the server level and sent out as one to the client. This occurs right after I connect, login, and join a room. This is standard user variable update logic... nothing tricky going on here.
I'm using the new 1.2.2 .Net Smart Fox Client library with Unity and SFS version 1.6.6 with an unlimited license.
Any advice, places to look, config file settings, etc would be greatly appreciated.
Thanks!
DL
System Info from server log file:
Code: Select all
INFO | jvm 1 | 2009/08/12 01:44:06 | --- [ System Info ] ------------------------------------------
INFO | jvm 1 | 2009/08/12 01:44:06 |
INFO | jvm 1 | 2009/08/12 01:44:06 | System CPU(s): 8
INFO | jvm 1 | 2009/08/12 01:44:06 | VM Max memory: 3817 MB
INFO | jvm 1 | 2009/08/12 01:44:06 |
INFO | jvm 1 | 2009/08/12 01:44:06 | os.name: Windows Server 2008
INFO | jvm 1 | 2009/08/12 01:44:06 | os.arch: amd64
INFO | jvm 1 | 2009/08/12 01:44:06 | os.version: 6.0
INFO | jvm 1 | 2009/08/12 01:44:06 | java.version: 1.6.0_13
INFO | jvm 1 | 2009/08/12 01:44:06 | java.vendor: Sun Microsystems Inc.
INFO | jvm 1 | 2009/08/12 01:44:06 | java.vendor.url: http://java.sun.com/
INFO | jvm 1 | 2009/08/12 01:44:06 | java.vm.specification.version: 1.0
INFO | jvm 1 | 2009/08/12 01:44:06 | java.vm.version: 11.3-b02
INFO | jvm 1 | 2009/08/12 01:44:06 | java.vm.vendor: Sun Microsystems Inc.
INFO | jvm 1 | 2009/08/12 01:44:06 | java.vm.name: Java HotSpot(TM) 64-Bit Server VM