Как перенести данные из веб-приложения Python в приложение Java на рабочем столе - PullRequest
0 голосов
/ 15 июля 2011

Мне нужна помощь по способу передачи данных из веб-приложения Python в настольное Java-приложение.

То, что я делаю, - это прослушивание java через порт и получение данных.Но я понятия не имею, как я буду отправлять данные из Python на открытый порт на сервере.

В чем мой вопрос, как бы я отправлял данные из веб-приложения python на открытый порт компьютера.И будут ли какие-либо проблемы, такие как типы данных и другие вещи?

Ответы [ 3 ]

3 голосов
/ 15 июля 2011

Это действительно большой вопрос, поскольку существует множество способов отправки данных назад и вперед между сервером (ваше приложение Java) и клиентом (ваше приложение Python).

Ваша ситуацияне совсем понятно (что конкретно представляет собой ваше «веб-приложение на python»?), но вы можете рассмотреть XML-RPC .XML-RPC чрезвычайно прост в использовании и настройке и решает «проблемы, такие как типы данных и любые другие вещи».Вы просто устанавливаете на своем сервере некоторые функции, которые клиент может вызывать, и заставляете их вызывать python.Аргументы аккуратно упакованы клиентом и развернуты сервером.Возвращаемые значения одинаковы.Это простой и понятный интерфейс.

Для вызовов на сервере Python вы хотите использовать модуль xmlrpclib .

Чтобы настроить сервер XMLRPC в java, у вас есть много вариантов .Я не Java-парень, но я уверен, что и с этой стороны все довольно просто.

Есть много хороших учебников по xml-rpc. Вот один , который охватывает клиент и сервер в python.

Как я уже говорил ранее, вам доступно МНОГИЕ опции.XML-RPC - это хороший и простой способ промокнуть, без особых ограничений (например, встроенная обработка ошибок).

Удачи!

1 голос
/ 15 июля 2011

Почему бы не использовать сокеты в Python и отправить его на сервер Java.Java не знает, что конечным клиентом является python, а читает только данные (байты).Я сделал это, и это работает без проблем.

Подробнее о преобразовании типов данных см. В модуле структуры python

.
1 голос
/ 15 июля 2011

Если вы используете независимый от платформы формат данных - xml, json, yaml, ascii txt, ... - для представления чисел, вам действительно не о чем беспокоиться.

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

Java использует сетевое упорядочение байтов (или Big Endian).Python использует собственный порядок байтов хоста, ИЛИ, вы можете указать порядок байтов.Здесь вы хотите указать Big Endian (сек 7.3.2.1) при записи ваших числовых данных.

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