Jak zamknąć serwer netcat po pojawieniu się danych?

2

Wysyłam UDP dane przez WLAN medium i używanie Multicast IPv6 . Czas wysyłania wykorzystuję:

time yes|cat /tmp/hello.txt | nc -6 -u -q 1 ff02::1%wlan1 30002

klient zamyka się po sekundzie z powodu -q 1 Po prostu wysyłam proste hello.txt który ma Test, Hello w tym.

Używam serwera na innym urządzeniu sieciowym w następujący sposób:

nc -6 -u -l -v ff02::1%wlan0 30002

I otrzymuję dane:

Test, Hello with netcat

ale chcę, żeby się zatrzymało, gdy otrzyma EOF a następnie pokaż time parametr.

Przez jakiś czas owijałem się w tę rzecz, ale nie rozumiem, jak mogę zatrzymać słuchanie na serwerze i pokazać czas potrzebny na otrzymanie danych.

Uwaga

  1. ja używam Adresy IPv6 multiemisji łącza lokalnego ( ff02:: ) i dlatego mam zewnętrznego adaptera na moim kliencie wlan1

  2. nc jest netcat-openbsd pakiet nie nc-traditional jeden.

Shan-Desai
źródło
1
FYI: Podczas wysyłania do ff02 :: 1 wysyłasz do grupy multiemisji. Nie używasz adresów lokalnych linków ...
Sander Steffann
@SanderSteffann przepraszam, że miałem na myśli multicast. Zmieni to teraz.
Shan-Desai
Próbujesz to zrobić nc -l wyjdź po jednym połączeniu lub próbujesz to zrobić time pokaże ci coś innego niż 0.008?
Michael Hampton
@MichaelHampton Chciałbym tylko wiedzieć, kiedy otrzymałem wiadomość. Jeśli to wymaga zamknięcia wyjścia nc -l wyjdź, a następnie pokaż time, więc tak chcę.
Shan-Desai