Как часто можно расшифровать тип объекта при использовании соединений с сокетами? - PullRequest
0 голосов
/ 25 октября 2011

У меня есть текстовая игра, в которую я играю, чтобы немного попрактиковаться. Я нахожусь в точке, где я строю верхнюю карту, которая просто показывает тип местности, где вы находитесь в мире. Причина, по которой я спрашиваю об этом, заключается в том, что текст и BufferedImages будут отправлены нескольким клиентам, подключенным к серверу через сокет / serversocket. Теперь было бы глупо создавать два совершенно разных сокет-соединения через разные порты, чтобы разделить мои текстовые ответы и ответы BufferedImage для разных клиентов, или довольно часто нужно расшифровывать, что такое объект, прежде чем решать, что делать с ним при чтении из объекта входного потока? Расшифровка типа объекта позволила бы мне использовать только одно соединение с серверным сокетом, я просто не знаю, насколько это правильно / практично / полезно. Я также не знаю, вызовет ли отправка объектов BufferedImage проблему в получении текстовых ответов от сервера быстро. Размер объектов BufferedImage составляет около 31x31 пикселей, что довольно мало, но я бы отправлял до 9 за раз в стандартном типе array [].

1 Ответ

1 голос
/ 25 октября 2011

Это очень распространено. На самом деле, я бы даже сказал, что это требуется для любого нетривиального удаленного взаимодействия. Вопрос только в том, как вы хотите передать информацию о типе программе на другой стороне сокетного соединения; Есть много способов сделать это, начиная от простого (сначала отправьте целое число с кодом типа, которое сообщает получателю, какие данные следует ожидать далее), вплоть до полномасштабных протоколов сериализации объектов (таких как JSON, XML, Буферы протокола Google и т. Д.).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...