Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Websocket 用铁锈网套_Websocket_Rust_Iron - Fatal编程技术网

Websocket 用铁锈网套

Websocket 用铁锈网套,websocket,rust,iron,Websocket,Rust,Iron,对于高性能websocket服务器,理想情况下,我希望重新定向Iron以侦听websocket而不是http 是否可以与一起使用,或者两者一起使用是否有意义 如果可能的话,我怎么能实现呢?听起来你想用生锈的网匣来替换超内部的铁。这很可能是困难的,如果可能的话。Iron与Hyper进行了大量集成,整个设计都是围绕在HTTP上工作而构建的。如果这真的是你想做的事情,也许值得与Iron开发者联系,看看允许通信接口可交换的可能性,但我不知道他们会接受这个想法的可能性有多大。我正在考虑在一个项目中同时使用

对于高性能websocket服务器,理想情况下,我希望重新定向Iron以侦听websocket而不是http

是否可以与一起使用,或者两者一起使用是否有意义


如果可能的话,我怎么能实现呢?

听起来你想用生锈的网匣来替换超内部的铁。这很可能是困难的,如果可能的话。Iron与Hyper进行了大量集成,整个设计都是围绕在HTTP上工作而构建的。如果这真的是你想做的事情,也许值得与Iron开发者联系,看看允许通信接口可交换的可能性,但我不知道他们会接受这个想法的可能性有多大。

我正在考虑在一个项目中同时使用Iron和rust websocket,并且我所采用的架构包括让websocket在单独的端口上侦听。我可以在部署时屏蔽这一点,使用前面的Nginx代理返回特定端口

,因为您的目标是创建一个高性能的websocket服务器,然后从HTTP服务器(如Iron)开始,可能没有意义。(Iron基于,它宣称自己是“一个快速而正确的HTTP实现”)。我建议大家看看哪个平台被设计成“一个异步的、事件驱动的平台”,由Hyper和Iron使用

WebSocket需要不同的协议来创建双向交互通信会话。发件人:

您可以向服务器发送消息并接收事件驱动的响应,而无需轮询服务器以获得回复

所以,如果您不需要HTTP,那么从专注于请求/响应的服务器开始可能会带来更多的复杂性,而不是好处。在仍处于打开状态时,请注意:

我个人认为将websocket融入Iron的请求中间件响应模型是相当困难的。在其他语言中,我还没有见过这种优雅的抽象


如果您真的想探索如何将WebSockets与Iron结合使用,则需要扩展hyper以支持WebSockets(),然后访问较低级别的hyper连接(如中所述)。建立连接后,WebSocket库将非常有用(尽管rust WebSocket似乎不再维护)

乍一看,你的问题似乎非常广泛(尽管可能是我对这个话题了解不够)。您是否尝试过任何可以作为更全面解决方案的垫脚石的方法,将答案引导到您感兴趣的方向?事实上,我需要编写一个高性能websocket服务器,但我在Roe之前尝试过的rust iron没有提供这样的功能,所以我研究了rust websocket。但我怀疑它的性能,所以我考虑过两者都使用。你想用哪种方式来使用两者?您想在网站上使用Iron,而仅在websocket部分使用rust websocket吗?不,只是一个websocket服务器。理想情况下,我希望重新定向Iron以侦听WebSocket而不是http。