So senden Sie NSString über den Socket mithilfe von NSOutputStream

8

Ich muss eine Chat-App für iOS mit Socket-Programmierung erstellen und meine IP-Adresse ist 192.168.0.57:9300 . Ich habe Raywenderlich socket Programmierung Beispiel verwendet, Empfangen von Daten ordnungsgemäß funktioniert aber Senden nicht funktioniert, gibt es keine Fehler oder Absturz. Mein Code ist wie folgt.

Code zum Öffnen von Streams

%Vor%

Code zum Senden von Daten

%Vor%

Delegierte

%Vor%

Bitte geben Sie mir einen Vorschlag.

    
Suraj 10.10.2012, 11:06
quelle

3 Antworten

5

Sie sollten das "\ n" am Ende Ihrer Antwort wie folgt hinzufügen:

%Vor%

Das funktioniert für mich, aber mein Problem ist, dass ich keine Daten mit der Funktion (void)stream:(NSStream *)theStream handleEvent:(NSStreamEvent)streamEvent

empfangen kann     
Nguyen Thanh Hung 27.04.2013 15:05
quelle
1

Ich hatte ein ähnliches Problem. Gelöst wurde es, indem Zeilen mit Zeilen- und Zeilenvorschubzeichen in die Zeichenfolge eingefügt wurden.

%Vor%     
Jayprakash Dubey 17.10.2014 05:10
quelle
1

Ich fand das Schreiben eines separaten Threads löste dieses Problem für mich.
Macht Sinn, da man Netzwerk-Ops im Haupt-Thread nicht wirklich machen sollte.
Hier ist mein Code:

%Vor%

Ein weiterer wichtiger Punkt ist, dass das NStreamEventOpenCompleted-Ereignis zweimal aufgerufen wird. Einmal, wenn jeder der Eingabe- und Ausgabeströme geöffnet ist. Man muss also darauf achten, vor dem Ereignis nicht in den Ausgabestrom zu schreiben.

    
yerachw 07.12.2014 16:41
quelle

Tags und Links