Сокетное соединение с Java на Objective-C - PullRequest
1 голос
/ 02 августа 2010

Я реализую проталкивание сервера через сокет-соединение с приложением на основе Objective-C. Я нахожусь в точке, где я отправляю свои данные через выходной поток на сокете, но мне нужно собрать данные на стороне Objective-c. На данный момент я даже не смотрел на классы ввода-вывода target-c, и мне интересно, как я могу обеспечить максимальную совместимость на стороне Java? Я предполагаю, что должен придерживаться примитивных типов данных, у меня будут какие-то проблемы с возвратом строк, которые я вставляю в outputStream? Большая часть того, что я отправляю, будет представлять собой строки, которые являются более или менее фрагментами / документами XML, поэтому, если есть лучший способ сделать это, дайте мне знать! Имейте в виду, что мое взаимодействие с сокетом является чисто односторонним. Все пользовательские обновления моего приложения происходят через стандартное взаимодействие с сервлетами.

Ответы [ 2 ]

1 голос
/ 03 августа 2010

Если вы открыты для использования сторонней библиотеки, вы можете попробовать Protocol Buffers от Google, есть привязка 'C' и java, так что интеграция довольно проста.

В противном случае лучше всего придерживаться методов DataInputStream и DataOutputStream в particalar readUTF () и writeUTF (String) . На стороне Objective-C комбинация NSData и NSString.

Если вам не нужна абсолютная скорость и размер, которые вы могли бы получить, делая это самостоятельно, я бы рекомендовал использовать либо буферы протокола, либо формат более высокого уровня, например JSON / XML.

1 голос
/ 02 августа 2010

Не переизобретай колесо; Передача двоичного представления вызовет головную боль. Я думаю, что использование XML или JSON в качестве посредника должно работать. На Objective-C доступно много синтаксических анализаторов XML или JSON.

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