用于windows的高性能套接字库
我在POCO库中看到了一个非常好的套接字库。 这使用了一种既适用于linux系统又适用于windows系统的“经典”方法,主要是基于选择的方法用于windows的高性能套接字库,windows,sockets,c10k,Windows,Sockets,C10k,我在POCO库中看到了一个非常好的套接字库。 这使用了一种既适用于linux系统又适用于windows系统的“经典”方法,主要是基于选择的方法 我想知道是否有一些特定的windows使用异步IO(完成端口?),因为我想在高性能代理/socks服务器上使用它。也许Boost::ASIO是您想要的?作为我开源的一部分,我开发了一个事件驱动(单线程)C语言的跨平台网络编程框架。它在Linux上使用epoll,在Windows上使用IOCP 一些重要部分: (事件循环) (TCP的抽象) (UDP的抽
我想知道是否有一些特定的windows使用异步IO(完成端口?),因为我想在高性能代理/socks服务器上使用它。也许Boost::ASIO是您想要的?作为我开源的一部分,我开发了一个事件驱动(单线程)C语言的跨平台网络编程框架。它在Linux上使用epoll,在Windows上使用IOCP 一些重要部分:
- (事件循环)
- (TCP的抽象)
- (UDP的抽象)
既然您提到了SOCKS,在我的框架中,我还实现了tun2socks使用的(无身份验证等)。我可以提出一个我为网络游戏编写的C库。此库用于高容量同时短TCP连接。 它使用异步epoll、kqueues、IOCP或同步线程。 该接口非常简单,并以node.js的工作方式通过回调进行抽象。 作为echo服务器,它每秒可以处理60k个请求。
请参见他们是否为windows使用了特定的功能?重叠端口还是完成端口?它们执行特定的Windows操作,是的。Boost抽象了任何给定操作系统的细节,但这里有一个答案可能会有所帮助:听起来不错。我去看看。但是我主要考虑我的项目的C++实现。从我自己的经验来看,C更适合网络服务器。就开源软件而言,它似乎也被更广泛地用于这一目的;考虑Apache、LoctTPD、NGNX、未绑定、后缀、OpenVPN、清漆……Boad有一个称为BADASS的异步套接字服务吗?因为那样会很酷@Ambroz我同意你的观点,C似乎被更广泛地使用,至少在开源软件中是如此。另一方面,C++在当今也应该是同样好的。我在考虑boost.asio上jmbeck的建议,我想知道这是否足够灵活,适合我的提议,是否不会引入不必要的复杂性。。