Potrzebuję zrealizować komunikację między dwoma wątkami za pomocą kanałów NSPipe, problemem jest to, że nie muszę wywoływać polecenia terminala, określając te metody.Komunikacja między procesami za pomocą NSPipe, NSTask
[task setCurrentDirectoryPath:@"....."];
[task setArguments:];
po prostu trzeba napisać niektóre dane
NSString * message = @"Hello World";
[stdinHandle writeData:[message dataUsingEncoding:NSUTF8StringEncoding]];
a na drugim wątku, aby otrzymać tę wiadomość
NSData *stdOutData = [reader availableData];
NSString * message = [NSString stringWithUTF8String:[stdOutData bytes]]; //My Hello World
Na przykład takie rzeczy w C# można łatwo zrobić z NamedPipeClientStream, NamedPipeServerStream klasy, w których rury są rejestrowane przez ciąg id.
Jak to osiągnąć w Objective-C?
Czy Twoje pytanie dotyczy dwóch wątków w ramach tego samego procesu lub oddzielnych procesów, które komunikują się przez potok? –
Jest to około dwóch wątków, które komunikują się za pośrednictwem rury. – Andrew
W jaki sposób można uzyskać oddzielne procesy, które komunikują się za pośrednictwem potoku? – vadivelu