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

go语言服务器

go语言服务器

Go
你不喜欢的陈先生 2018-08-14 22:26:57
哪位大佬能指点一下我 创建一个服务器1)支持10个端口;2)服务端在接受到ping之后回复pong包;3)对方会发起2个客户端连接
查看完整描述

2 回答

已采纳
?
Stardust1001

TA贡献261条经验 获得超78个赞

https://img1.sycdn.imooc.com//5b7400400001c51b12160805.jpghere

查看完整回答
1 反对 回复 2018-08-15
  • 你不喜欢的陈先生
    你不喜欢的陈先生
    棒 兄弟 这个比我的简单多了 我仔细研究一下啊 非常感谢 谢谢谢谢
  • Stardust1001
    Stardust1001
    记得采纳?本身也不容易,天天跑着回答问题,大多数都是菜鸟,还不愿思考的菜鸟,你这个问题还是不错的了,回答着也有点兴趣
  • 你不喜欢的陈先生
    你不喜欢的陈先生
    我写的比你多了一点 感觉你这个很不错
?
Stardust1001

TA贡献261条经验 获得超78个赞

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

查看完整回答
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
  • 2 回答
  • 1 关注
  • 1923 浏览
慕课专栏
更多

添加回答

举报

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