server side join room, client no receive event
server side join room, client no receive event
i create the Room from server side ,then join it from there.But the client just receive onRoomAdded evet ,no onJoinRoom event .why?
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");
}
}
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");
}
}
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
[ 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