为了账号安全,请及时绑定邮箱和手机立即绑定

go语言服务器

/ 猿问

go语言服务器

Go
你不喜欢的陈先生 2018-08-14 22:26:57

哪位大佬能指点一下我

创建一个服务器

1)支持10个端口;

2)服务端在接受到ping之后回复pong包;

3)对方会发起2个客户端连接


查看完整描述

2 回答

已采纳
?
Stardust1001

https://img.mukewang.com/5b7400400001c51b12160805.jpghere

查看完整回答
1 反对 回复 2018-08-15
?
Stardust1001

还没有人回答呢,写着虽然不多,也不算少,唉,有空看一下

查看完整回答
1 反对 回复 2018-08-15
  • 你不喜欢的陈先生
    你不喜欢的陈先生
    谢谢您
  • Stardust1001
    Stardust1001
    // 这是 server.go package main import ( "fmt" "log" "net" ) func main() { for i := 8000; i < 8010; i++ { go listen(i) } for { // nothing , just let those listener running forever } } func listen(port int) { ln, err := net.Listen("tcp", fmt.Sprintf(":%d", port)) if err != nil { log.Fatal(err) } fmt.Printf(":%d start listen\n", port) for { conn, err := ln.Accept() if err != nil { fmt.Println(err) } else { fmt.Printf("new connection from %v\n", conn.LocalAddr()) go handleConnection(conn) } } } func handleConnection(conn net.Conn) { fmt.Printf("start handle connection : %v\n", conn.LocalAddr()) }
  • Stardust1001
    Stardust1001
    // 这是 client.go package main import ( "log" "net" "time" ) func main() { conn, err := net.Dial("tcp", ":8006") if err != nil { log.Fatal(err) } conn.Write([]byte("Guten morgen")) time.Sleep(10 * time.Second) }
点击展开后面1

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信