登录
首页 >  Golang >  Go问答

如何用 Golang 编写 poll 或 epoll 服务器?

来源:stackoverflow

时间:2024-04-19 14:18:39 122浏览 收藏

一分耕耘,一分收获!既然都打开这篇《如何用 Golang 编写 poll 或 epoll 服务器?》,就坚持看下去,学下去吧!本文主要会给大家讲到等等知识点,如果大家对本文有好的建议或者看到有不足之处,非常欢迎大家积极提出!在后续文章我会继续更新Golang相关的内容,希望对大家都有所帮助!

问题内容

在golang中,如果我们想写一个socket服务器,我们可以这样写:

listen, err := net.Listen("tcp", "****")
for {
    conn, err := listen.Accept()
    ...
}

net.listen() 包括创建 socketbindlisten,并在实现中使用 epoll

在cpp中,如果我们想编写一个服务器,我们可以自由选择使用selectpollepoll,所以我的问题是:在golang中,如何使用selectpoll而不是`epoll来编写服务器。


正确答案


如果您熟悉连接创建期间使用的系统调用;您会发现 syscalls package 对于您需要执行的操作非常有用,您可以根据需要选择使用这些系统调用。它包含您需要的所有系统调用。

我还发现了这个示例 gist,您可以参考它来使用 pollselect 进行自己的实现。

到这里,我们也就讲完了《如何用 Golang 编写 poll 或 epoll 服务器?》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>