如何在JavaScript \ HTML中使用套接字?
如何在JavaScript \ HTML中使用套接字?
可能会使用一些很酷的HTML5?
图书馆? 教程? 博客文章?
产品规格:
- W3C – Web套接字API
文章:
- HTML5 WebSocket和WebJneering
- WebSocket既不是Web也不是Socket
- networking套接字协议对于web初创公司意味着什么
教程:
- HTML5 Rocks – WebSockets
图书馆:
- 检查这个posthtml5 websocket需要服务器? ,它链接到https://kaazing.com/download
如何在JavaScript / HTML中使用套接字?
在JS或HTML中没有使用通用套接字的function。 比如说,这将是一场安全灾难。
在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方面的规范和networking传输规范都没有被确定下来,也没有浏览器支持它。
但是,您可以在可用的位置使用Flash来为脚本提供回退,直到WebSocket广泛使用。 Gimite的web-socket- j就是这样一个免费的例子。 然而,你受到与Flash Sockets相同的限制,即你的服务器必须能够根据请求向套接字端口吐出一个跨域策略,而且你通常在代理/防火墙方面有困难。 (Flash套接字是直接制作的,对于没有直接公共IP访问权限的人,只能通过HTTP代理服务器出网,否则将无法工作。)
除非你真的需要低延迟的双向通信,否则你现在最好坚持使用XMLHttpRequest
。
我认为有必要提一下,现在这个问题已经超过1年了, Socket.IO已经出来了,现在似乎是在浏览器中使用套接字的主要方式; 据我所知,它也与Node.js兼容。