慕课网首页
免费课
实战课
体系课
发现
教程
专栏
手记
商业合作
企业服务
讲师入驻
搜索
热搜
最近搜索
清空
0
登录
/
注册
新人专属
元礼包
| 查看
为了账号安全,请及时绑定邮箱和手机
立即绑定
已解决
430363
个问题,去搜搜看,总会有你想问的
go语言服务器
关注
首页
猿问
go语言服务器
go语言服务器
Go
你不喜欢的陈先生
2018-08-14 22:26:57
哪位大佬能指点一下我 创建一个服务器1)支持10个端口;2)服务端在接受到ping之后回复pong包;3)对方会发起2个客户端连接
查看完整描述
2 回答
已采纳
Stardust1001
TA贡献261条经验 获得超78个赞
here
查看完整回答
1
反对
回复
2018-08-15
你不喜欢的陈先生
棒 兄弟 这个比我的简单多了 我仔细研究一下啊 非常感谢 谢谢谢谢
Stardust1001
记得采纳?本身也不容易,天天跑着回答问题,大多数都是菜鸟,还不愿思考的菜鸟,你这个问题还是不错的了,回答着也有点兴趣
你不喜欢的陈先生
我写的比你多了一点 感觉你这个很不错
Stardust1001
TA贡献261条经验 获得超78个赞
还没有人回答呢,写着虽然不多,也不算少,唉,有空看一下
查看完整回答
1
反对
回复
2018-08-15
你不喜欢的陈先生
谢谢您
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
// 这是 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
浏览
关注
慕课专栏
更多
改善Go语言编程质量的50个有效实践
共50小节
1001人已购买
¥ 78.00
马上订阅
添加回答
了解更多
举报
0
/150
提交
取消
意见反馈
分销返利
帮助中心
APP下载
官方微信
返回顶部