从JavaScript连接到C#服务器

5

是否有可能创建一个 JavaScript 程序,通过简单的 socket 而不是 WebSocket 连接到一个简单的 C# 服务器。

你能帮我提供一个示例吗?


JavaScript 运行在哪里?在浏览器中?在控制台中?在服务器上? - Johannes Hahn
JavaScript在浏览器中运行。 - Med Besbes
2
不,你不能在浏览器中使用套接字连接,直接从浏览器访问套接字永远不会发生,因为这会带来巨大的风险。 - SilentTremor
3个回答

1

在 Web 浏览器中运行的 JavaScript 代码没有标准方法来建立 TCP 连接。(请参见 @Johannes Hahn 的答案)

要在客户端和服务器之间通信,请考虑使用微软的 SignalR 库。它旨在允许在浏览器中运行的 JavaScript 程序与 C# 服务器通信。SignalR 将使用 WebSockets;但是,如果 WebSockets 不可用,则会回退到其他传输方式继续工作。如果需要防止其尝试使用 WebSockets,则还可以指定传输方式。

SignalR 连接以 HTTP 开始,然后如果可用,就会升级为 WebSocket 连接。WebSocket 是 SignalR 的理想传输方式,因为它最有效地利用了服务器内存,具有最低的延迟,并且具有最多的基础功能(例如客户端和服务器之间的全双工通信),但它也有最严格的要求:WebSocket 要求服务器使用 Windows Server 2012 或 Windows 8 和 .NET Framework 4.5。如果不满足这些要求,则 SignalR 将尝试使用其他传输方式进行连接。


此外,请注意,如果您的Javascript不在Web浏览器中运行,则可以进行常规的网络连接。例如,在Node.js上运行的Javascript应用程序。

0

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接