Ich muss eine Kommunikation zwischen zwei Threads mithilfe von NSPipe-Kanälen realisieren, das Problem ist, dass ich Terminalkommando nicht durch Angabe dieser Methoden aufrufen muss.Kommunikation zwischen Prozess mit NSPipe, NSTask
[task setCurrentDirectoryPath:@"....."];
[task setArguments:];
Ich brauche nur einige Daten
NSString * message = @"Hello World";
[stdinHandle writeData:[message dataUsingEncoding:NSUTF8StringEncoding]];
und auf der anderen Thread schreiben Diese Nachricht kann
NSData *stdOutData = [reader availableData];
NSString * message = [NSString stringWithUTF8String:[stdOutData bytes]]; //My Hello World
Zum Beispiel solche Dinge in C# erhalten leicht mit NamedPipeClientStream erfolgen, NamedPipeServerStream-Klassen, in denen Pipes nach ID-Zeichenfolge registriert werden.
Wie erreicht man es in Objective-C?
Ist Ihre Frage zu zwei Threads innerhalb desselben Prozesses oder zu separaten Prozessen, die über eine Pipe kommunizieren? –
Es ist über zwei Threads, die über eine Leitung kommunizieren – Andrew
Wie können separate Prozesse erreichen, die über eine Leitung kommunizieren? – vadivelu