我一直在调查如何构建一个在单声道上运行的websocket服务,我的问题主要是软件设计。目标是实现Web客户端与之通信的.Net WCF(或类似)服务,无需页面刷新,并且在没有用户输入的情况下在浏览器ui上更新信息。
我知道mono不支持System.Net.WebSockets,但我尝试过的一件事是在web.config中使用自定义绑定的WCF服务,以避免使用Microsoft Web套接字类。当然,mono开始抱怨无法识别的元素&webSocketSettings'。
这是我用于测试wcf服务的绑定:
<bindings>
<customBinding>
<binding name="wsHttpBinding">
<byteStreamMessageEncoding/>
<httpTransport>
<webSocketSettings transportUsage="Always"
createNotificationOnConnection="true"/>
</httpTransport>
</binding>
</customBinding>
</bindings>
知道这一点我认为mono也不支持web socket绑定。
问题是,目前是否有任何方法可以配置wcf服务甚至控制台应用程序(在单声道Linux服务器上作为守护程序运行)通过Web套接字进行通信?也就是说,没有使用任何第三方库并使用mono在Linux服务器上托管它?如果没有,我的选择是什么?使用第三方库,构建类似于使用ajax等轮询wcf服务方法的Web客户端?
我将不胜感激。
谢谢, 奥利
答案 0 :(得分:1)
如果你无法让它在Mono中运行,我开发了一个支持它的名为WebSocketListener的WebSocket组件。看看this guide about how to use it in Mono。