Gefällt mir nicht mehr spezialisierte Eingang Java Objekte , lässt ein InputStream Objekt mit Byte-Ebene Daten aus einer bestimmten Ressource zu arbeiten. Es ist jedoch nur zur Messung der in einem statischen Datendatei . Wenn Sie Daten aus einer anderen Ausführung von Java- Projekt in einem InputStream -Objekt verwenden wollen, müssen Sie ein Netzwerk Framework verwenden , um die Daten vor dem Speichern in der InputStream abzurufen. InputStream vs Netzwerk-Sockets
Wenn Sie Daten aus einem laufenden Projekt in ein InputStream -Objekt erhalten möchten, müssen Sie zuerst , um es im Rahmen einer Netzwerk-Sockets einzubetten. Eines der Projekte als Server fungiert , in dem Sie eine ServerSocket Objekt , das für eingehende Verbindungen auf einem bestimmten Computer -Port-Nummer hört umzusetzen. Das andere Projekt , dem Client erzeugt einen Socket , die zu dieser Portnummer verbinden wird , und öffnen Sie einen Stream .
Lesen von Daten
Sobald die beiden Projekte stellen eine Verbindung , sie werden abwechselnd durchlaufen einer vorbestimmten Abfolge , wobei ein Programm sendet Daten hin und her durch den Sockel . Das Projekt Senden von Daten verwenden können Objekte wie PrintWriter Daten über den Socket zu senden , und das andere Projekt verwendet eine BufferedReader Objekt, um die Daten zu empfangen. Sie können diese Daten Sie in einem InputStream -Objekt empfangen werden durch Instanziieren eines Objekts innerhalb InputStreamReader Ihre BufferedReader speichern.
Fehler
Beliebig viele Dinge schief gehen kann wenn Sie die Übertragung von Daten zwischen Projekten über eine Socket-Verbindung. Ein Projekt oder die andere könnte plötzlich verlieren Netzwerkverbindung oder man könnte einen Fehler in Ihrem Code haben Konnektivität . Wenn Ihr Projekt auf ein Problem stößt , wenn es versucht, Daten senden oder empfangen , wird es nicht in der Lage sich zu erholen und abstürzen. Aus diesem Grund erfordert Java Sie auf " versuchen " und " fangen" Aussagen , wann immer Sie schreiben Socketvorgänge verwenden .
Closing Bach
Aus technischer Sicht , es gibt nichts , Sie verlassen eine Socket-Verbindung zu einem anderen Projekt geöffnet für die gesamte Laufzeit des Programms zu halten. Gute Programmierkenntnisse Stil schreibt jedoch vor, dass Sie die Socket-Verbindung zu schließen aus der Client-Seite mit dem " . Close () " Objekt-Methode , wenn Sie der Übermittlung Ihrer Daten zu beenden. Dies entlastet die Ressourcen Ihr Client-Programm auf die Erhaltung der Steckdose verbringen wird , und ist höflich zu dem Server, widmet Rechenleistung an die Steckdose , solange es geöffnet ist.