Hello guys, i recently got stuck with spidermonkey.
i got this class on both, server and client:
[java]@Serializable()
public class Player extends Message {
public String username = “”;
public String getPlayer() {
return username;
}
public void setPlayer(String user) {
username = user;
}
}[/java]
but when i do this:
[java]public Player mPlayer;
…
mPlayer.setPlayer(“BlaBla”);
client.send(mPlayer);[/java]
(btw i serialize that class)
at the server when it receives this message i get empty string…
[java]@Override
public void messageReceived(Message message) {
if(message instanceof Player) {
System.out.println(“User:” + mPlayer.getPlayer());
}
}[/java]
my question is how do i set values from client and send it to server?
P.S.: sorry for my bad english ;
i’ll write tutorial on basic game communication if i can solve it.
Hey,
did you remember to register the Message Player with Serializer.registerClass(Player.class); ?
i just tried it and it works for me:
Server:
[java]public class ServerTest implements ConnectionListener, MessageListener {
public ServerTest() {
Server server;
try {
server = new Server(1234, 1234);
server.addConnectionListener(this);
server.addMessageListener(this);
server.start();
} catch (IOException e) {
e.printStackTrace();
}
Serializer.registerClass(Player.class);
}
@Override
public void clientConnected(Client c) {
System.out.println("Connected: "+c);
}
@Override
public void clientDisconnected(Client c) {
System.out.println("bla"+c);
}
@Override
public void messageReceived(Message msg) {
if(msg instanceof Player) {
System.out.println("Player: "+((Player)msg).getPlayer());
}
}
@Override
public void messageSent(Message arg0) {
// TODO Auto-generated method stub
}
@Override
public void objectReceived(Object arg0) {
// TODO Auto-generated method stub
}
@Override
public void objectSent(Object arg0) {
// TODO Auto-generated method stub
}
public static void main(String… args) {
new ServerTest();
}
}[/java]
And the Client:
[java]public class ClientTest {
Client client = null;
public ClientTest() {
try {
client = new Client("localhost",1234,1234);
} catch (IOException e) {
e.printStackTrace();
return ;
}
client.start();
Serializer.registerClass(Player.class);
Player bla = new Player();
bla.setPlayer("test123");
try {
client.send(bla);
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String… args) {
new ClientTest();
}
}[/java]
Ahh…thank you very much
I owe you, msg me if you need help of something