如何在 JavaScript\HTML 中使用套接字?

可能正在使用一些很酷的 HTML5?

图书馆?教程?博客文章?

有帮助吗?

解决方案

其他提示

如何在 JavaScript/HTML 中使用套接字?

没有在 JS 或 HTML 中使用通用套接字的工具。一方面,这将是一场安全灾难。

HTML5中有WebSocket。客户端相当简单:

socket= new WebSocket('ws://www.example.com:8000/somesocket');
socket.onopen= function() {
    socket.send('hello');
};
socket.onmessage= function(s) {
    alert('got reply '+s);
};

您将需要在服务器端有一个专门的套接字应用程序来获取连接并对其执行某些操作;这不是您通常从 Web 服务器的脚本界面执行的操作。然而它是一个 相对简单的协议;我的基于 Python SocketServer 的端点只有几页代码。

无论如何,它实际上还不存在。JavaScript 端规范和网络传输规范都没有确定,也没有浏览器支持它。

但是,您可以在可用的情况下使用 Flash 来为您的脚本提供后备,直到 WebSocket 广泛可用。吉米特的 web-socket-js 就是这样一个免费的例子。然而,您会受到与 Flash Sockets 相同的限制,即您的服务器必须能够根据套接字端口的请求发出跨域策略,并且您经常会遇到代理/防火墙的困难。(闪光灯插座直接制作;对于没有直接公共 IP 访问权限、只能通过 HTTP 代理离开网络的人来说,它们将不起作用。)

除非您确实需要低延迟双向通信,否则最好坚持使用 XMLHttpRequest 目前。

我想提这一点很重要,现在这个问题是1岁以上,即 Socket.IO 已自问世以来,似乎是在现在的浏览器插座工作的主要方式;它也与 Node.js的兼容,因为据我所知。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top