J'écoute via netcat
nc -lkp 1902
Chaque fois que j'établis une connexion TCP et que j'essaie d'envoyer des journaux, cela fonctionne
timeout := 30 * time.second conn, err := net.dialtimeout("tcp", "localhost:1902", timeout) if err != nil { panic("failed to connect to localhost:1902") } defer conn.close() f := log.ldate | log.lshortfile logger := log.new(conn, "example-", f) logger.println("this is a regular message1") logger.println("this is a regular message2") logger.println("this is a regular message3") logger.println("this is a regular message4") logger.println("this is a regular message5") logger.println("this is a regular message6")
Sortie
example-2022/11/18 technique24.go:21: this is a regular message1 example-2022/11/18 technique24.go:22: this is a regular message2 example-2022/11/18 technique24.go:23: this is a regular message3 example-2022/11/18 technique24.go:24: this is a regular message4 example-2022/11/18 technique24.go:25: this is a regular message5 example-2022/11/18 technique24.go:26: this is a regular message6
Mais chaque fois que j'essaie d'établir une connexion UDP, cela ne fonctionne pas, quelqu'un peut-il m'expliquer pourquoi je ne reçois rien sur l'enregistreur ?
timeout := 30 * time.Second conn, err := net.DialTimeout("udp", "localhost:1902", timeout) if err != nil { panic("Failed to connect to localhost:1902") } defer conn.Close() f := log.Ldate | log.Lshortfile logger := log.New(conn, "example-", f) logger.Println("This is a regular message1") logger.Println("This is a regular message2") logger.Println("This is a regular message3") logger.Println("This is a regular message4") logger.Println("This is a regular message5") logger.Println("This is a regular message6")
Vous voulez créer un petit poc pour envoyer des journaux via udp afin de réduire le retard, j'ai d'abord essayé d'établir une connexion TCP, cela fonctionne bien mais udp ne fonctionne pas, quelqu'un peut-il expliquer ce que je dois faire pour que cela fonctionne ? p>
Netcat crée des connexions TCP par défaut, sauf indication contraire. Pour les connexions UDP, vous devez utiliser le drapeau -u
de netcat. Depuis la page de manuel netcat
-u Utilisez UDP au lieu de l'option TCP par défaut.
Donc, changer l'écouteur en nc -luk 1902
devrait résoudre le problème des connexions UDP.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!