【发布时间】:2017-12-15 21:05:07
【问题描述】:
C# 控制台是否可以(并且简单)使用浏览器打开 Web 套接字,而不使用 Node.js?意思是,一个活跃且打开的 C# 控制台应用程序,始终运行在服务器上,可以实时向浏览器发送和接收消息。
我尝试使用浏览器加载 socket.io.js JS 文件 (https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.0.4/socket.io.js),并使用 TcpListener 类创建 C# 控制台应用程序。似乎有一个成功的连接。但是我无法在服务器和客户端之间发送消息。
【问题讨论】:
-
是的,这是可能的,但是使用专用的 websocket 库而不是原始的 TcpListener。
-
是的,您可以使用 RedHttpServer 或程序员提到的 SignalR。为此有许多不同的库,因此请使用其中之一而不是 TcpListener 类,因为您必须自己在其之上实现 WebSocket 协议。
-
旁注:阅读您的问题似乎您正试图让 C# 应用程序打开与浏览器的连接。这是不可能的,因为 Websocket 要求浏览器打开与服务器的连接。您的 C# 应用程序绝对可以侦听 Websocket 连接,但它无法启动它们。我确定这就是您的实际意思,但是您写问题的方式有点令人困惑。
标签: c# node.js sockets websocket socket.io