I try to minimise my questations on the forum and use search and docks, but I stuck again.
I send my packet this way to the clients:
Code: Select all
package sfsext;
import com.smartfoxserver.v2.core.ISFSEvent;
import com.smartfoxserver.v2.core.SFSEventParam;
import com.smartfoxserver.v2.entities.Room;
import com.smartfoxserver.v2.entities.User;
import com.smartfoxserver.v2.entities.data.ISFSObject;
import com.smartfoxserver.v2.entities.data.SFSObject;
import com.smartfoxserver.v2.exceptions.SFSException;
import com.smartfoxserver.v2.extensions.BaseServerEventHandler;
import java.util.Iterator;
public class JoinMapEventHandler extends BaseServerEventHandler {
@Override
public void handleServerEvent(ISFSEvent event) throws SFSException {
User user = (User) event.getParameter(SFSEventParam.USER);
Room room = user.getLastJoinedRoom();
Iterator<User> iterator = room.getPlayersList().iterator();
while (iterator.hasNext()) {
User now = iterator.next();
//User user = (User) event.getParameter(SFSEventParam.USER);
if (user.getId() != now.getId()) {
ISFSObject responseObj = new SFSObject();
responseObj.putInt("xPos", (Integer) user.getProperty("xPos"));
responseObj.putInt("xPos", (Integer) user.getProperty("yPos"));
send("newPlayer", responseObj, now);
trace("Packet sent to user: " + now.getName());
}
}
}
}
This code send the position data of the joining player to everyone else in the room. I checked that both of my clients connect the same room as players.
I try to recieve the packet on clienside with this: (I use java as a client)
Code: Select all
sfs.addEventListener("newPlayer", new NewPlayerListener());
Code: Select all
package dragontale;
import com.smartfoxserver.v2.exceptions.SFSException;
import sfs2x.client.core.BaseEvent;
import sfs2x.client.core.IEventListener;
/**
*
* @author Laxika
*/
class NewPlayerListener implements IEventListener {
@Override
public void dispatch(BaseEvent be) throws SFSException {
System.out.println("GOT DATA FROM SERVER");
System.out.println(be.getArguments());
}
}
The server side code runs OK, but I don't get the packet clientside. (Or I try to get it on a wrong way.)
I heard somthing about public messanges, to broadcast a packet, but I don't klnow how to use that.
Some one can help me please?
Thanks, Laxi