getRoomList() doesn't work for me

Need help with SmartFoxServer? You didn't find an answer in our documentation? Please, post your questions here!

Moderators: Lapo, Bax

User avatar
Carl
Posts: 36
Joined: 22 Dec 2006, 20:40
Location: New York
Contact:

getRoomList() doesn't work for me

Postby Carl » 02 Jan 2007, 19:23

According to the documentation,

smartFox.getRoomList()

"Fires the onRoomListUpdate event"

I put a tracer on onRoomListUpdate, and put a trace on the function that is calling "smartFox.getRoomList()". The roomlistUpdate triggers when the program first runs, and my functions traces that it's sending the command but no triggering happens and I don't get my new room list from the server.
Last edited by Carl on 02 Jan 2007, 23:00, edited 1 time in total.
Carl Lydon
Illustrator, animator, programmer
----------------------------------------
www.gametrust.com
www.chamberofchat.com
User avatar
Lapo
Site Admin
Posts: 23008
Joined: 21 Mar 2005, 09:50
Location: Italy

Postby Lapo » 02 Jan 2007, 21:03

Carl,
it seems you're not getting the very simple sequence of that is necessary to follow in order to start interacting with the server and other users.

It just takes 3 simple steps:

1- establish a connection
2- login into a Zone
3- join a Room

All this is clearly explained in chapter 5.a of our docs together with a code template. All you need to do to make it work is just to copy and paste it in the 1st frame of a new Flash document :)

Side note: the getRoomList() is called for you by the API when you successfully log in. Unless you are you're implementing a custom server login you won't even need to call it.

Let us know if something is not clear.
Lapo
--
gotoAndPlay()
...addicted to flash games
User avatar
Carl
Posts: 36
Joined: 22 Dec 2006, 20:40
Location: New York
Contact:

I did that

Postby Carl » 02 Jan 2007, 22:58

I did those things.

Sorry for the frustration I expressed in the last post; I didn't mean to be rude and I appreciate the help.

I do understand the basic concepts of multiuser stuff because I did a pretty decent chatroom and multiuser pictionary game before, similar to your theo chat; the problem is rather that I have trouble getting commands to work, functions to trigger, and objects to extract information properly. i can't only use example code because the final product I've been tasked to build by my boss is more complicated.



Anyway,

1. I DID established a connection
2. I loggeed in
3. I joined a room automatically using the autojoin feature.

All these things I believe are working because I'm able to send a chat message to my other client quite perfectly, and it does all the user joined alerts as they should.

The trouble is, as I said, that after doing the above 3 steps the "smartFox.getRoomList()" command doesn't trigger the "onRoomListUpdate" on either the client that's sending the message or the client intended to receieve it.


............

Also, I started trying to use the "sendObject()" command such that the "onObjectReceived" would be triggered on another client but that doesn't work either, so there may indeed be something very basic that's wrong with my code, but I'm definately logged in and connected to a zone.

here's the code for that, maybe I'm not building the object correctly, so it just doesn't go through because it's not formatted properly? I didn't use the {} example method of creating an object that I got from the documantation because copying it straight in gave me a syntax error.


function sendObject() {
var ToSend:Object = new Object();
ToSend.px = 150;
ToSend.py = 250;
smartFox.sendObject(ToSend);
trace("Sending Object");
}
//----------------------------------------------------------
// Recieve object from server
//----------------------------------------------------------
smartFox.onObjectReceived = function(obj:Object, sender:User)
{
trace("Got data from: " + sender.getName())
trace("X = " + obj.px + ", Y = " + obj.py)
}
Carl Lydon

Illustrator, animator, programmer

----------------------------------------

www.gametrust.com

www.chamberofchat.com
User avatar
Lapo
Site Admin
Posts: 23008
Joined: 21 Mar 2005, 09:50
Location: Italy

Postby Lapo » 03 Jan 2007, 07:11

but I'm definately logged in and connected to a zone.

did you join a room?

In order to make sure that your code flow is correct please do check the example provided in chapter 5.a, it's a simple code template that connects to a room.

Another big recommendation I can suggest is to keep all your code in one frame, and avoid putting pieces of code all over the places like on movieclip instances or multiple frames.
This will help a lot with debugging and it will avoid many well known Flash pitfalls, like the "wait-one-frame" syndrome and the loss of scope.

If you want to check an advanced SFS app, have a look at the SmartMessenger example and at its source code.

One more thing (maybe it's obvious): the sendObject() method does not send back the object to the sender itself.

hope it helps
Lapo

--

gotoAndPlay()

...addicted to flash games
User avatar
Carl
Posts: 36
Joined: 22 Dec 2006, 20:40
Location: New York
Contact:

Thanks

Postby Carl » 03 Jan 2007, 16:02

I will recheck that I've joined a room, but if my two clients can chat to each other, doesn't that mean that they're both logged into the same room?

Yea, I put all the code on one frame mostly because I don't like jumping around from script to script, which I find ciumersome in Flash; if a button needs to do something I have it call a function rather than do anythign on that MC.

I did suspect that a client would not have this message sent back to itself, so I've been trying with two clients...

Anyway, there's a bunch of stuff for me to check given my knack for making typos!

thanks
Carl Lydon

Illustrator, animator, programmer

----------------------------------------

www.gametrust.com

www.chamberofchat.com
srirangr
Posts: 6
Joined: 30 Aug 2011, 09:47

Postby srirangr » 30 Aug 2011, 09:54

Carl,

I'm stuck on the same problem. I'm using a custom login but I'm unable to get a roomList even after asking for one. I've been facing this problem for the last few days. If you've found out the solution, can you let me know of this on my email: srirangr@gmail.com or in this forum :D ?

Thank you.
Srirang Ranjalkar
User avatar
BigFIsh
Posts: 1698
Joined: 25 Feb 2008, 19:26
Location: New Zealand

Postby BigFIsh » 30 Aug 2011, 23:12

@srirangr

Have you connected and logged into the server prior to calling getRoomList() ?

Furthermore, ensure that you don't have roomList listed under <DisabledSysActions>

Have you checked the output/input messages (to/from) SFS server? You'll need to turn on the .debug flag for your SmartFoxClient instance.
Smartfox's forum is my daily newspaper.
srirangr
Posts: 6
Joined: 30 Aug 2011, 09:47

Postby srirangr » 30 Aug 2011, 23:36

Dear BigFish,

I'm connected to the server. I'm developing a turn based game app on Android. Since I'm using a custom login, I'm able to get the RandomKey as well. Also, I've turned the debug mode on and I'm getting the [Sending] message too, but I'm not receiving any [ RECEIVED ] message. That is exactly where I'm stuck.

Thanks for your reply.
Srirang Ranjalkar.
User avatar
BigFIsh
Posts: 1698
Joined: 25 Feb 2008, 19:26
Location: New Zealand

Postby BigFIsh » 30 Aug 2011, 23:41

Are you able to provide us all [Send] and [Received] messages to/from the server up to the point where nothing happens?

Additionally, have you checked your server logs for any warning/errors?
Smartfox's forum is my daily newspaper.
srirangr
Posts: 6
Joined: 30 Aug 2011, 09:47

Postby srirangr » 31 Aug 2011, 00:53

BigFish,

The following are the Send, Received messages that I get until I stop getting any of those messages:

08-31 07:26:25.692: INFO/SmartFoxClient(591): [Sending]: <msg t ='sys'><body action='verChk' r='0'><ver v='158' /></body></msg>


08-31 07:26:25.761: INFO/SmartFoxClient(591): [ RECEIVED ]: <cross-domain-policy><allow-access-from domain='*' to-ports='443' /></cross-domain-policy>, (len: 90)


08-31 07:26:26.312: INFO/SmartFoxClient(591): [ RECEIVED ]: <msg t='sys'><body action='apiOK' r='0'></body></msg>, (len: 53)


08-31 07:26:28.542: INFO/SmartFoxClient(591): [Sending]: <msg t ='sys'><body action='rndK' r='-1'></body></msg>


08-31 07:26:28.872: INFO/SmartFoxClient(591): [ RECEIVED ]: <msg t='sys'><body action='rndK' r='-1'><k>zOnnbQYCRwNJtkg</k></body></msg>, (len: 75)


08-31 07:26:30.972: INFO/SmartFoxClient(591): [Sending]: <msg t ='sys'><body action='login' r='0'><login z='zenfox'><nick><![CDATA[randomname|2|Indian_Rummy]]></nick><pword><![CDATA[bbcefd91455d4b69047a5e7f936cad2d]]></pword></login></body></msg>


08-31 07:26:31.582: INFO/SmartFoxClient(591): [ RECEIVED ]: {"t":"xt","b":{"r":-1,"o":{"id":21938,"playerId":"it.gotoandplay.smartfoxserver.data.UserVariable@49617575","name":"randomname|2|Indian_Rummy","_cmd":"logOK","user":"it.gotoandplay.smartfoxserver.data.User@1d6679f6"}}}, (len: 218)


08-31 07:26:31.602: INFO/SmartFoxClient(591): [Sending]: <msg t ='sys'><body action='getRmList' r='-1'></body></msg>


Thank you.
Srirang Ranjalkar
User avatar
BigFIsh
Posts: 1698
Joined: 25 Feb 2008, 19:26
Location: New Zealand

Postby BigFIsh » 31 Aug 2011, 01:05

Those messages looks valid to me.

Double check your customLogin internal event logic. Are you logging the user correctly into the zone using _server.loginUser() and that you are checking if the login was successful?

i.e.

var obj = _server.loginUser(nick, pass, chan);
trace(obj.success)

That's the only other thing I can think of.
Smartfox's forum is my daily newspaper.
srirangr
Posts: 6
Joined: 30 Aug 2011, 09:47

Postby srirangr » 08 Sep 2011, 12:41

Hi BigFish,

I'm using two types of clients here. One is Flash and the other is Android. On the flash client, I'm getting the roomList properly which means that my CustomLogin internal event logic is working fine. On the Android client I'm getting the roomList in the form of XML (and not JSON, which is expected), but the onRoomListUpdate event is not being fired.

Also, whenever I restart the server, I'm getting the roomList on Android twice when I call the getRoomList method and the onRoomListUpdate event is also getting fired twice. But then, I have to restart the server again and again to get the roomList which is affecting my Flash client.

Can you help me out in this case please?

Thank you,
Srirang Ranjalkar.

Return to “SmartFoxServer 1.x Discussions and Help”

Who is online

Users browsing this forum: Google [Bot] and 58 guests