2009-04-16 9 views
1

ich diesen Code verwenden wollte Archive mit Xmodem zu senden: http://www.java2s.com/Code/Java/Network-Protocol/JModemsimplecommunicationsprogram.htmFreigabe serielle Schnittstelle (Modem-Protokoll + Dialer)

In diesem Fall möchte ich eine DFÜ-Verbindung zwischen zwei Computern herzustellen und eine binäre Datei zu senden. Aber dieser Code erlaubt mir nicht, eine Telefonnummer zu wählen, nachdem ich den Port eingerichtet habe und bevor ich die Datei übertrage. Gibt es eine Möglichkeit, den Port mit einer anderen Anwendung zu teilen, die die Telefonnummer wählt?

Antwort

2

Können Sie nicht einfach die alten Modembefehle über die serielle Leitung senden, nachdem Sie die serielle Schnittstelle angeschlossen haben?

So, nach dem Herstellen der Verbindung, senden Sie ATDT gefolgt von der Telefonnummer. Warten Sie dann auf die Antwortzeichenfolge "connect" (oder Fehlerantworten). Dann senden Sie die Datei.

Siehe: http://en.wikipedia.org/wiki/Hayes_command_set

+0

Ich habe ein Design-Problem. Jmodem wird mit Null-Modem-Kabeln verwendet. Ich möchte das gleiche Programm verwenden, um ein zu senden. Um zu wählen und zu antworten, muss ich Ereignisse verwenden (Ring, CD, DataAvailable usw.), aber ich weiß nicht, wie man das Ereignis dataavailable von der Datentransaktion mit dem Modem unterscheidet. Haben Sie eine Designempfehlung? –

+1

Hi, Hayes kompatible Modems haben einen Datenmodus und einen Befehlsmodus. Der Datenmodus wird verwendet, um Daten an das andere Modem zu senden. Alle Daten, die Sie senden, werden auf der anderen Seite als Daten angesehen. Der Befehlsmodus wird verwendet, um Befehle an das Modem zu senden (wie zB Dial usw.). Bitte sehen Sie: http://en.wikipedia.org/wiki/Command_and_Data_modes_%28modem%29 Also wenn Sie gewählt haben und das andere Modem angeschlossen sind, schaltet das Modem automatisch in den Datenmodus. Senden Sie Ihre Daten und beenden Sie den Datenmodus mit "+++". Trennen Sie jetzt die Verbindung über den Befehl hangup. Was meinst du Null-Modem-Kabel? Modems überhaupt nicht verwenden? – RoccoD

1

Wenn Sie das JModem Programm nicht ändern wollen, warum dann nicht ein vollwertiges comm Programm verwenden, das die Eigenschaften alles, was Sie brauchen bietet? (Es gab eine Menge von ihnen, aber die, die jetzt in den Sinn kommt, ist Kermit). Dies wäre einfacher als zu versuchen, zwei verschiedene Programme zusammenzuarbeiten.

Wenn Sie ein Java-Programmierer sind, folgen Sie dem Vorschlag von RoccoD und ändern Sie den JModem-Code, um eine Nummer zu wählen.

0

In Unix oder Linux ist es kein Problem - einfach die serielle Schnittstelle von allen Programmen gleichzeitig öffnen. Sie können auch Chat verwenden oder erwarten.

in Windows Sie brauchen Server, der Datenströme multiplext

Verwandte Themen