Schreiben auf einen TCP/IP Socket

dmike

Bekanntes Mitglied
Hi, und noch ein Frage....


Ich hab in einem junit Testcase einen "Server" gestartet (Thread der lokal auf Port 4321 hört).
Wenn ich den auf der Konsole mit telnet ansprechen klappt die Kommunikation.

Problem ich will den Server auch in JUnit ansprechen. Connecten geht, aber das Schreiben auf den Socket läuft noch nicht


Java:
			BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(connection.getOutputStream()));
	        wr.write(message);
	        wr.newLine();
	        wr.flush();

Der Server bekommt von der Nachricht "message" nichts mit.

Ich hab festgestellt, dass "message" erst dann auf dem Server ankommt, wenn ich am Ende noch
Java:
wr.close();

sage. Was natürlich witzlos ist, weil der Socket dadurch mit geschlossen wird.


Was mache ich auf der Clientseite falsch?

Danke.
dmike
 

HoaX

Top Contributor
Nichts, mal das ganze neu bauen lassen? Der flush() auf dem BufferedWriter sollte eigentlich die Daten auf den Weg schicken.
 

dmike

Bekanntes Mitglied
Da waren mal wieder linefeed und carriage return dran schuld uzw. serverseitig .

println clientseitig und readline serverseitig funktionieren nämlich nur dann zusammen, wenn client und server entweder beide windows oder unix systeme sind.

Sobald man es mit beiden zu tun hat, hilft nur das:

Java:
	private String getMessage(Socket connection) throws IOException {
		BufferedReader in = getReader(connection);
//		String msg= in.readLine();
//		return msg;

		StringBuilder message = new StringBuilder(160);
		char[] buffer = new char[200];
		boolean waitForInput = true;

		while (waitForInput) {
			// blockiert bis Nachricht empfangen
			int chars = in.read(buffer, 0, 200);
			for (int i = 0; i < chars; i++) {
				char c = buffer[i];
				if (waitForInput = (c != nl && c!= '\n') ) {
					message.append(c);
					System.out.println("<"+(int)c+"> : "+message);
				}
			}
		}
		return message.toString();
	}

wobei

Java:
private static final int nl = (System.getProperty("line.separator").getBytes())[0];
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Socket Probleme beim Lesen und Schreiben aus/in einen Socket Netzwerkprogrammierung 2
C Inhalt einer .JPG Datei in einen OutputStream schreiben? Netzwerkprogrammierung 10
E Wie kann man einen einfachen E-Mail Server schreiben Netzwerkprogrammierung 2
André B. In einen InputStream schreiben? Netzwerkprogrammierung 6
W Socket Server -> lesen von / schreiben zu php-script Netzwerkprogrammierung 6
B Versuch mit Socket etwas zu lesen und zu schreiben Netzwerkprogrammierung 15
J Webserver mit Java schreiben? Netzwerkprogrammierung 4
A sporadischer Fehler beim Schreiben auf NAS Netzwerkprogrammierung 2
A FTP wie kann ich von java auf datei in fpt://192.168.178.1 lesen/schreiben? Netzwerkprogrammierung 3
J Socket Tutorial zu Multiplayer Server schreiben? Netzwerkprogrammierung 5
L DB Navigator selber schreiben Netzwerkprogrammierung 7
S Datei schreiben über Applet Netzwerkprogrammierung 8
C Datei über Socket schreiben und Ereignis lesen Netzwerkprogrammierung 9
H Datei in DropBox schreiben Netzwerkprogrammierung 23
N über Java in eine Text-Datei auf einem Server schreiben Netzwerkprogrammierung 2
V Datei auf Server Schreiben Netzwerkprogrammierung 18
DEvent Keine IOException beim schreiben Socket Netzwerkprogrammierung 3
D HTTP html Bildreferenz in responseBody() schreiben Netzwerkprogrammierung 2
E Java Proxyserver schreiben? Netzwerkprogrammierung 19
A HTTP Binärdaten über PHP-Skript in Datenbank schreiben bzw auslesen Netzwerkprogrammierung 2
R HTML in FileWriter schreiben Netzwerkprogrammierung 5
J byte[] auf Stream schreiben Netzwerkprogrammierung 2
B Mail Server selber schreiben Netzwerkprogrammierung 26
S http Server selber schreiben Netzwerkprogrammierung 5
T Sockets Verständnisfrage: abwechelnd lesen-schreiben Netzwerkprogrammierung 4
R In Text Datei schreiben die auf einem Server liegt Netzwerkprogrammierung 8
M schreiben auf geschlossenen Socket ohne Exception Netzwerkprogrammierung 6
A PDF über HTTP einlesen und in Datei schreiben Netzwerkprogrammierung 5
R Server/Client Verbindung - Datei schreiben Netzwerkprogrammierung 15
F http Post auf einen Grafana Server Netzwerkprogrammierung 3
izoards Mehrere TCP Verbindungen auf einen Server [alles Local] Netzwerkprogrammierung 2
S Java: Anbindung an einen realen Server? (+ Portfreigabe) Netzwerkprogrammierung 8
X Kann ich einen Client/Server verbindung hinkriegen die mir alle paar Sekunden die aktuellen Daten per Realtime zuschickt ? Netzwerkprogrammierung 9
E Kurze Textnachrichten über einen Server von meinem Handy auf den Computer laden. Netzwerkprogrammierung 9
D Socket Message an einen Server senden? Netzwerkprogrammierung 8
M jsf-seite beim hinzufügen einer csv-datei in einen ordner aktualiseren Netzwerkprogrammierung 0
C Client connection per Portforwarding auf einen lokalen Serverport Netzwerkprogrammierung 3
P Wie spreche ich einen Thread an? Netzwerkprogrammierung 20
P Was brauche ich alles / wo sollte ich einen Blick drauf werfen? Netzwerkprogrammierung 17
T HTTP Einen HTTP Server erstellen Netzwerkprogrammierung 20
Z Socket [Chatprogramm] Mehrere Clients an einen Server Netzwerkprogrammierung 10
N Einen Server als ausführbare Datei exportieren Netzwerkprogrammierung 15
M Socket JavaProg über einen Clienten steuern Netzwerkprogrammierung 5
I HTTP Grundlagen um einen Webserver zu erstellen Netzwerkprogrammierung 17
C An WebDAV einen "MKCOL" Befehl versenden Netzwerkprogrammierung 4
K HTTP-Anfrage an einen Server wird nicht beantwortet Netzwerkprogrammierung 3
H String Array durch einen Stream schicken. Netzwerkprogrammierung 4
L Mit Java auf Forum einloggen und dann einen Threat erstellen Netzwerkprogrammierung 4
R Mehrere Dateien über einen Socket senden Netzwerkprogrammierung 2
L mehrere Streams über einen Socket? Netzwerkprogrammierung 8
A Wichtig für einen Chat? Netzwerkprogrammierung 4
V Mehrere Streams durch einen Stream senden Netzwerkprogrammierung 14
V PC der an einen Router angeschlossen ist aus dem... Netzwerkprogrammierung 13
V Einen Eintrag aus einer Zip Datei von einem Server laden Netzwerkprogrammierung 2
M Wie programmiere ich einen FTP - Server Netzwerkprogrammierung 2
T Html-Source über URL in einen String speichern? Netzwerkprogrammierung 16
P Verschiedene Daten über einen Stream Netzwerkprogrammierung 4
U Einen HandlerThread, der mehrere Verbindungen verwaltet? Netzwerkprogrammierung 2
T Mit FTP verbinden, einen Ordner erstellen und Datei löschen Netzwerkprogrammierung 3
M Socket Verbindungen für einen Chat Netzwerkprogrammierung 10
T file auf einen server laden Netzwerkprogrammierung 4
A Zugriff auf einen fremden Monitor im lan Netzwerkprogrammierung 3
G Socket Socket Kommunikation Netzwerkprogrammierung 1
L Server-Socket liest Input-Stream nicht Netzwerkprogrammierung 5
H Socket Kann ein Socket server 2 dimensionale Arrays empfangen und versenden? Netzwerkprogrammierung 3
D Socket-Verbindungen übers Internet Netzwerkprogrammierung 4
Z Kann nicht Daten vom Server lesen Socket Netzwerkprogrammierung 10
N Java socket Programmierung Filme verschicken Netzwerkprogrammierung 20
A TCP multiClientServer mit socket mittels ObjectOutputStream Netzwerkprogrammierung 12
A Socket-Anwendung (BufferedWriter/Reader liest nicht aktuellen Wert) Netzwerkprogrammierung 6
platofan23 Socket Java Socket mit DynDns nicht erreichbar Netzwerkprogrammierung 6
S Socket Bilder über Socket Senden Netzwerkprogrammierung 0
M Socket Socket lehnt Verbindung ab Netzwerkprogrammierung 3
x46 Connection reset by peer: socket write error Netzwerkprogrammierung 6
x46 Socket Files per Socket verschicken Netzwerkprogrammierung 1
platofan23 Probleme mit Socket bei Android Studio? Netzwerkprogrammierung 22
platofan23 Socket Hilfe mit Socket Thread und ArrayList Netzwerkprogrammierung 6
R Socket FATAL EXCEPTION MAIN bei Socket based client/server app Netzwerkprogrammierung 2
D new ObjectInputStream(socket.getInputStream()); Netzwerkprogrammierung 15
E Socket Frage Netzwerkprogrammierung 6
D ServerSocket - Socket Verbindungsart Netzwerkprogrammierung 3
T Frage bzgl. Socket-API Netzwerkprogrammierung 1
F TCP Socket auf Verbindungsabbruch prüfen Netzwerkprogrammierung 15
F Socket Verbindung mit Verschlüsselung und Authentifierzung Netzwerkprogrammierung 1
I Socket ObjectOutputStream-Socket: Objekt wird falsch übertragen Netzwerkprogrammierung 2
T Socket Socket connections schließen? Netzwerkprogrammierung 2
D Socket Socket OutputStream leeren? Netzwerkprogrammierung 3
T Socket Java Programm hängt sich auf bei dem versuch von einem Socket scanner Daten zu erhalten. Netzwerkprogrammierung 1
F Socket Socket in anderen Methoden Netzwerkprogrammierung 1
D Socket Run Args Client/Server Socket Netzwerkprogrammierung 1
M Problem bei Socket (MultiplayerSpiel) Netzwerkprogrammierung 4
I Socket Netzwerkprogrammierung 1
F Wiederverbinden nach socket Abbruch Netzwerkprogrammierung 1
J 1 Socket - 2 Serversocket Netzwerkprogrammierung 4
T Socket sendet erst nach socket.close() Netzwerkprogrammierung 2
F Socket Verbindungsaufbau abbrechen Netzwerkprogrammierung 3
P Socket Socket-Verbindung Input sehr langsam Netzwerkprogrammierung 1
I Socket Kommunikation C / Java Netzwerkprogrammierung 2
Joew0815 socket event handler Netzwerkprogrammierung 2
F Einfache Socket Verbindung Netzwerkprogrammierung 2

Ähnliche Java Themen

Neue Themen


Oben