Page 1 of 1
server side join room, client no receive event
Posted: 16 Dec 2009, 06:12
by jenth
i create the Room from server side ,then join it from there.But the client just receive onRoomAdded evet ,no onJoinRoom event .why?
Posted: 17 Dec 2009, 11:30
by Lapo
Probably you are not setting the flags correctly in the joinRoom call to update the client. Can you show your join code?
Thanks
Posted: 17 Dec 2009, 14:31
by jenth
thanks
My code like this:
..............
public void handleRequest(String cmd, ActionscriptObject ao, User u, int fromRoom) {
if (cmd.equalsIgnoreCase("ckRoom")) {
handleCheckRoom(ao, u, fromRoom);
}
}
private void handleCheckRoom(ActionscriptObject ao, User u, int fromRoom) {
String roomName = ao.getString("n");
String streetId = ao.getString("s");
String type = ao.getString("t");
..........
HashMap<String, String> map = new HashMap<String, String>();
map.put("name", streetId+"_"+roomName);
map.put("isGame", "true");
map.put("isLimbo","false");
map.put("maxU", "3");
Room createdRoom = null;
try {
createdRoom = helper.createRoom(zone, map, null, true, true);
} catch (ExtensionHelperException e) {
// TODO Auto-generated catch block
e.printStackTrace();
trace("createRoom error:" +roomName+","+e);
}
if(createdRoom!=null){
try {
helper.joinRoom(u, fromRoom, createdRoom.getId(), true, "", false, true);
} catch (ExtensionHelperException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else{
trace("error");
}
}
Posted: 17 Dec 2009, 14:44
by jenth
servier side console:
[ com.re1001.extensions.street.StreetManager ]: handleInternalEvent -> newRoom
[ com.re1001.extensions.street.StreetManager ]: createRoom:1_lymmy Succ
ssfully
[ com.re1001.extensions.street.StreetManager ]: handleInternalEvent -> userJoin
[ com.re1001.extensions.street.StreetManager ]: handleInternalEvent ->
serExit
but client side has error in SysHandler Class at
public function handleJoinOk(o:Object):void
{............
// get current Room and populates usrList
var currRoom:Room = sfs.getRoom(roomId)
// Clear the old data, we need to start from a clean list
currRoom.clearUserList()
............
currRoom=null
Posted: 18 Dec 2009, 10:47
by Lapo
Is the User already joined in any Room when the server side join is performed?
Posted: 01 Feb 2010, 21:07
by lllltttt
last flag is for internal event, the 2nd last one is used to send update to client.