I tried using newFromBinary but I don't know if I did it correctly.
Here is the code:
Client:
Code: Select all
private void OnExtensionResponse(BaseEvent evt)
{
string cmd = (string)evt.Params["cmd"];
if (cmd == "get position")
{
SFSObject dataIn = (SFSObject)evt.Params["params"];
SFSObject deserializedData = SFSObject.NewFromBinaryData(dataIn.GetByteArray("params"));
Debug.Log(deserializedData.GetDouble("posX"));
Debug.Log(deserializedData.GetDouble("posY"));
Debug.Log(deserializedData.GetDouble("posZ"));
}
}
Server Extension:
Code: Select all
public void handleClientRequest(User sender, ISFSObject params)
{
String username = sender.getName().toString();
try
{
SFSDBManager dbm = (SFSDBManager)this.getParentExtension().getParentZone().getDBManager();
dbm.executeQuery("select lastposition from users where username = ?",
new Object[] { username });
params.toBinary();
this.send("get position", params, sender);
trace(username + " last position data seleted. LOG: " + params.toString());
}
catch (Exception e)
{
e.printStackTrace();
trace(e.getStackTrace().toString());
}
}