Chciałbym utworzyć nazwaną potokę, taką jak ta stworzona przez "mkfifo", ale jedno zastrzeżenie. Chcę, aby rura była dwukierunkowa. To znaczy, chcę, aby proces A zapisywał do fifo i przetwarzał B, aby odczytać z niego i na odwrót. Rura stworzona przez "mkfifo" umożliwia procesowi A odczytanie danych zapisanych w rurze. Normalnie użyłbym dwóch rur, ale próbuję zasymulować rzeczywiste urządzenie, więc chciałbym, aby semantyka open(), read(), write(), etc była jak najbardziej podobna do rzeczywistego urządzenia. Ktoś zna technikę, aby to osiągnąć bez uciekania się do dwóch rur lub nazwanego gniazda?Nazwany potok podobny do "mkfifo", ale dwukierunkowy
7
A
Odpowiedz
5
Użyj gniazda domeny Unix.
Och, powiedziałeś, że nie chcesz używać jedynego dostępnego rozwiązania - gniazda domeny Unix.
W takim przypadku utknąłeś z otwarciem dwóch nazwanych potoków lub bez. Lub oczywiście napisać dla nich własny sterownik urządzenia - i tak można to zrobić dla systemów Open Source; może być trudniejsze dla zamkniętych systemów źródłowych (Windows, AIX, HP-UX).
4
Lub pty
("interfejs pseudo-terminalowy"). man pty
.
Powiązane problemy
- 1. Nazwany potok CreateFile() zwraca INVALID_HANDLE_VALUE, a GetLastError() zwraca ERROR_PIPE_BUSY
- 2. mkfifo() error ---> "Błąd podczas tworzenia nazwanego potoku .: Plik istnieje"
- 3. Asynchroniczny dwukierunkowy RPC
- 4. Słownik dwukierunkowy?
- 5. Dwukierunkowy Vagrant rsync
- 6. Dwukierunkowy jeden-do-wielu z łącznym
- 7. Dobry algorytm podobny do Levenshteina, ale ważony dla klawiatur Qwerty?
- 8. Wykres podobny do mapy ciepła, ale dla zmiennych jakościowych
- 9. Jak mogę utworzyć "dobrze" CSS podobny do bootstap, ale głębiej?
- 10. Nazwany List do/z Data.Frame
- 11. NHibernate dwukierunkowy wiele-do-wielu stowarzyszenie
- 12. Hibernate - dwukierunkowy @OneToOne
- 13. Podobny składnia ale pokazuje błąd, ale innego nie
- 14. Jak wykonać niezablokowanie fopen na nazwanej potoku (mkfifo)?
- 15. Kopiowanie plików ze struktury katalogów, ale wykluczyć nazwany folder
- 16. Stan podobny do CouchDB
- 17. uprawnienia do plików mkfifo nie są wykonywane prawidłowo
- 18. Potok do standardowego i zapisywalnego strumienia
- 19. Konwersja Nazwany charakter wektora do data.frame
- 20. Suwak głośności podobny do VLC
- 21. C# Właściwość nazwany zdarzenie
- 22. Dodatek Listonosza podobny do firefox
- 23. Panel powiadomień podobny do stackoverflow's
- 24. Nazwany kwerendy nie wiadomo
- 25. żaden moduł nazwany filterspecs
- 26. TortoiseHG: Zamknij nazwany oddział
- 27. Dwustronny/dwukierunkowy słownik w języku C#?
- 28. Hibernate Nazwany Zapytanie Zamówienie parametrem
- 29. Nazwany eksport vs eksportowania obiektu
- 30. Angular2: dwukierunkowy wiązania wewnątrz elementu rodzica/dziecko
Pty ma wiele rzeczy, których nie chcesz - zwykle. Podobnie jak w przypadku obsługi terminalu. Ale myśli o tym poza polem. –