fia*_*iat 5 c# mono nancy signalr raspberry-pi
我希望在Raspberry Pi上托管基于C#/ mono/signalR的网页 - 这可能吗?
我设法编写了一个客户端 - 服务器 - 客户端解决方案,其中signalR集线器托管在运行IIS 8的PC上.pi上的控制台应用程序通过c#signalR客户端连接到服务器集线器.asp.net服务器还为浏览器客户端提供了一个"远程控制"页面,用于向pi发送命令,但现在我想要消除PC作为一项要求并将所有内容托管在pi上.
fia*_*iat 14
TLDR
很长的故事
我设法得到了一个解决方案,使用Nancy,SignalR和基于OWIN的网络服务器NoWin从Rasperry Pi(单声道3,硬浮动)上的控制台应用程序运行.请参阅此解决方案中的RPi.Nancy项目:
https://github.com/neutmute/RPi.Demo
与作为连接到IIS SignalR主机的纯客户端相比,作为自托管Web服务器的pi更加滞后.来自knockout.js绑定范围滑块的响应非常慢,需要几秒钟才能使更新流在服务器停止在客户端上移动后完成输入.在PC上运行相同的自托管服务器也表现出一些滞后,但不像Pi那样慢.
在运行自托管信号R时,单个进程在拖动滑块并传输信号R事件流时占据97%.这不纯粹的客户端模式,但是IIS IIS服务器确实体验CPU使用率过高时,有滑块拖动大怒,所以也许PI应该是可以原谅的有点滞后发生时,作为中心服务器.
我也尝试过Katana作为网络服务器,但它比NoWin跑得更慢.
请注意,完全自托管的SignalR解决方案可以正常工作,如果只在这里和那里发送几个按钮按下 - 只有在来回拖动滑块并产生连续的事件流时才会出现滞后现象.一种解决方案可能是通过敲除绑定来限制滑块的更新,并降低幻灯片事件的分辨率.
另外值得注意的是,当在pi上托管时,SignalR不能使用Web套接字,因为它们仅在SignalR托管在IIS 8上时可用.服务器端事件传输被替代使用.在纯客户端模式下,这是相同的传输.
| 归档时间: |
|
| 查看次数: |
3679 次 |
| 最近记录: |