2009-12-14 2 views
0

Надеясь, что кто-то может пролить свет на это.Проблемы с подключением PHP к Java-программе с использованием порта

У меня есть программа PHP, которая открывает порт и отправляет некоторый текст в программу java, прослушивающую этот порт. В принципе, может быть много экземпляров этой программы PHP, соединяющей этот порт с этой одной java-программой. Программа java связывается с API, получает ответ и затем отправляет информацию обратно через порт в программу PHP.

Это решение работает, но иногда я получаю пустой ответ в своей программе PHP. Программа java запускается успешно, но строка ответа не передается обратно через порт в программу php.

Решено ли это решение? Будет ли у меня когда-нибудь экземпляр, в котором программа java отправит неверную информацию в программу PHP? Может ли кто-нибудь увидеть какие-либо проблемы здесь? Огромное спасибо!

+1

По какой-либо причине приложение PHP не может напрямую обращаться к API? – philjohn

+0

Да, мы используем PHP4 здесь, а адаптер, используемый для доступа к API, предназначен для PHP5 или Java. Нет адаптера PHP4. – frio80

ответ

1

«Открывает порт» неоднозначно, я собираюсь предположить, что вы имеете в виду «открывает TCP-соединение».

Нет причин, чтобы описанная вами схема не помогла, но вы не предоставили достаточной информации, чтобы сузить причину проблемы, которую вы испытываете.

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

Если вам нужна помощь в поиске проблемы, вам нужно будет опубликовать более подробную информацию, в идеале - наименьший пример реального кода (для обоих концов соединения), с которым вы можете столкнуться.

+0

Спасибо за ответ. Меня больше интересовало определение того, был ли это действительный подход к этой проблеме, и, по вашему мнению, похоже, что это так. Имея это в виду, я смогу потратить некоторое время, чтобы определить, где в коде происходит точная ошибка. – frio80

0

Является ли программа Java закрытием или не менее flush поток сокета после записи?

Для получения более подробной информации и правильных примеров кода обратитесь к основному учебнику Sun "All About Sockets".

+0

Да, он закрывает поток сокета после записи. – frio80

Смежные вопросы