Как использовать сериализованные объекты, отправляемые через сокет в java? - PullRequest
0 голосов
/ 19 апреля 2020

Я пишу клиент-серверное приложение, в котором сервер отправляет сообщение клиенту, клиент читает сообщение и создает нового проигрывателя, используя точку, записанную в моем сериализованном сообщении.

Здесь code:

public class MessagePlayer implements Serializable{

    private Point point;

    public PlaceWorkerResponse(Point point) {
        this.point = point;
    }

    public Point getSettedPoint() {
        return point;
    }
}

Я читаю сообщение с указанным потоком c, а затем использую класс Controller, у которого есть метод для создания нового игрока в нужной позиции.

если я делаю это, это работает

controller.addPlayer(new Point(msg.getSettedPoint().getX(), msg.getSettedPoint().getY()) );

Но если я делаю это, это не работает, я не понимаю, почему

controller.addPlayer( msg.getSettedPoint() );

метод addPlayer:

@Override
public void addPlayer(Point point) {
    players.add(new Player(point));
}

, а класс очков:

public class Point implements Serializable {

    private int x;
    private int y;

    public Point(int x, int y) {
        this.x = x;
        this.y = y;
    }

    public Point(Point p) {
        this.x = p.getX();
        this.y = p.getY();
    }

    public int getX() {
        return x;
    }

    public int getY() {
        return y;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...