连接到HTML5 Websocket

前端之家收集整理的这篇文章主要介绍了连接到HTML5 Websocket前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我对 HTML5 Websockets有些困惑.我已经看了很多教程,其中有很多不同的连接使用不同的端口.这些港口是什么意思?

例如Adobe,使用这个:

new WebSocket('ws://localhost:1740');

那么另一个tutorial就没有必要的端口:

new WebSocket("ws://www.websockets.org");

最后,第三个教程有一个端口,但是完全不同:

new WebSocket("ws://localhost:8080/echo");

我的问题是,为什么这些变化?如何知道要连接的端口?另外,我试图做自己的连接:

var ws = new WebSocket("ws://test.ontarget-network.com/");

但是我收到以下错误:意外的响应代码:200

我已经测试过,并尝试连接到各种其他“端口”(不知道我在做什么,明确地输入随机数字),这个错误会消失,但是,我的代码

ws.onopen = function(){
   alert("Connection Established");
};

不会执行

我正在努力完全了解HTML5的Websockets API,以便我可以实验和创建更多的动态应用程序.谢谢您的帮助.

解决方法

以下来自 latest WebSocket draft

By default the WebSocket protocol uses port 80 for regular WebSocket
connections and port 443 for WebSocket connections tunneled over TLS
[RFC2818].

实际上,您应该可以使用任何有效的端口,没有使用.只要客户端尝试连接到服务器端脚本为套接字连接打开的同一端口,您应该很好.

关于港口的简要说明:
– 端口80是HTTP端口.
– 端口8080是备用的HTTP端口.
– 端口443是HTTPS(即具有TLS的HTTP)端口.
– 1740端口的Adobe代码似乎是一些其他服务尚未使用的随机端口.

有关预设端口的完整列表,请参阅以下内容
http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers

至于您的“意外响应代码:200”错误,我猜测您在客户端使用的WebSocket URL并不指向有效的服务器端脚本,但是如果没有更多的信息,那么很难评论.

猜你在找的HTML5相关文章