Hi.
I’m trying to send an array from server to client,but when i try,it gives me a ConnectorException.
I checked if the serializer and listeners were registering in the same order and they do.
Server main:
[java]
@Serializable
public static class TextMessage extends AbstractMessage {
private String text;
public TextMessage() {}
public TextMessage(String txt) {
text=txt;
}
public String getText() {
return text;
}
}
@Serializable
public static class ArrayMessage extends AbstractMessage {
protected ArrayList array;
public ArrayMessage() {}
public ArrayMessage(ArrayList arr) {
array=arr;
}
public ArrayList getArray() {
return array;
}
}
Serializer.registerClasses(TextMessage.class,ArrayMessage.class);
srv.addMessageListener(new ServerListener(), TextMessage.class);
srv.addMessageListener(new ServerListener(), ArrayMessage.class);[/java]
Client main:
[java]
@Serializable
public static class TextMessage extends AbstractMessage {
private String text;
public TextMessage() {}
public TextMessage(String txt) {
text=txt;
}
public String getText() {
return text;
}
}
@Serializable
public static class ArrayMessage extends AbstractMessage {
private ArrayList array;
public ArrayMessage() {}
public ArrayMessage(ArrayList arr) {
array=arr;
}
public ArrayList getArray() {
return array;
}
}
Serializer.registerClasses(TextMessage.class,ArrayMessage.class);
client.addMessageListener(new ClientListener(), TextMessage.class);
client.addMessageListener(new ClientListener(), ArrayMessage.class);[/java]
Client listener:
[java]public class ClientListener implements MessageListener<Client> {
@Override
public void messageReceived(Client src,Message msg) {
if(msg instanceof TextMessage) {
msg.setReliable(true);
String packet=((TextMessage) msg).getText();
System.out.println(packet);
}
else if(msg instanceof ArrayMessage) {
msg.setReliable(true);
ArrayList packet=((ArrayMessage) msg).getArray();
switch(packet.get(0).toString()) {
case “ItemList” : System.out.println(packet);
break;
}
}
}
}
[/java]
Server Listener:
[java]public class ServerListener implements MessageListener<HostedConnection>{
@Override
public void messageReceived(HostedConnection src,Message msg) {
if(msg instanceof TextMessage) {
msg.setReliable(true);
String packet=((TextMessage) msg).getText();
switch(packet) {
case “RequestItemList” : Main.getServer().broadcast(Filters.in(src),new ArrayMessage(Main.getItemList()));
System.out.println("Sent item list to: "+src);
System.out.println(Main.getItemList());
break;
}
}
else if(msg instanceof ArrayMessage) {
msg.setReliable(true);
ArrayList packet=((ArrayMessage) msg).getArray();
switch(packet.get(0).toString()) {
case “ItemList” : System.out.println(packet);
break;
}
}
}
}[/java]
I don’t get this with TextMessage.
Can someone help me?i’m not an expert with network programming and that’s my first attempt in it.
[java][/java] [java][/java] [java][/java] [java][/java] [java][/java]