2009-04-16 3 views
1

Я хотел использовать этот код, чтобы отправить архивы с Xmodem: http://www.java2s.com/Code/Java/Network-Protocol/JModemsimplecommunicationsprogram.htmSharing последовательный порт (протокол Модем + дозвона)

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

ответ

2

Не можете ли вы просто отправить простые старые модемные команды по последовательной линии после подключения последовательного порта?

Итак, после подключения, отправьте ATDT, а затем номер телефона. Затем ждите строку ответа «connect» (или ответы об ошибке). Затем отправьте файл.

См: http://en.wikipedia.org/wiki/Hayes_command_set

+0

У меня проблема с дизайном. Jmodem используется с нуль-модемными кабелями. Я хочу использовать одну и ту же программу для отправки. Для набора номера и ответа мне нужно использовать события (Ring, CD, DataAvailable и т. Д.), Но я не знаю, как отличить событие, доступное для данных, от транзакции данных с модемом. У вас есть рекомендации? – 2009-05-15 12:26:58

+1

Hi, У модемов, совместимых с Hayes, есть режим данных и командный режим. Режим передачи данных используется для передачи данных на другой модем. Все данные, которые вы отправляете, рассматриваются как данные с другой стороны. Командный режим используется для отправки команд модему (например, dial и т. Д.). См.: http://en.wikipedia.org/wiki/Command_and_Data_modes_%28modem%29 Итак, когда вы набрали и подключили другой модем, модем automaticallu переключается в режим данных. Отправьте данные и закончите режим данных с помощью «+++». Теперь отключите соединение с помощью команды hangup. Что вы имеете в виду кабели с нуль-модемом? Не использовать модемы вообще? – RoccoD

1

Если вы не хотите, чтобы изменить программу JModem, то почему бы не использовать полноценную программу, которая предоставляет комм все необходимые функции? (Там была тонна их, но тот, который приходит на ум прямо сейчас, - кермит). Это было бы проще, чем пытаться объединить две разные программы.

Если вы программист на Java, то следуйте предложению RoccoD и измените код JModem, чтобы набрать номер.

0

В unix или linux это не проблема - просто открывайте последовательный порт всеми программами одновременно. Также вы можете использовать чат или ожидать.

в windows Вам нужен сервер, который будет мультиплексировать потоки данных

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