echo_server.go 530 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package main
  2. import (
  3. "fmt"
  4. "frp/utils/conn"
  5. )
  6. var (
  7. PORT int64 = 10701
  8. )
  9. func main() {
  10. l, err := conn.Listen("0.0.0.0", PORT)
  11. if err != nil {
  12. fmt.Printf("echo server listen error: %v\n", err)
  13. return
  14. }
  15. for {
  16. c, err := l.Accept()
  17. if err != nil {
  18. fmt.Printf("echo server accept error: %v\n", err)
  19. return
  20. }
  21. go echoWorker(c)
  22. }
  23. }
  24. func echoWorker(c *conn.Conn) {
  25. for {
  26. buff, err := c.ReadLine()
  27. if err != nil {
  28. fmt.Printf("echo server read error: %v\n", err)
  29. return
  30. }
  31. c.Write(buff)
  32. }
  33. }