我正在用Java编写WebSocket服务器。 当我使用WebSocket连接到firefox中的服务器时,我发现建立了两个连接,其中一个从不发送任何数据......
我的firefox版本是15.0.1
在Chrome中运行相同的代码即可,连接一次,只建立一个连接。
有人有这样的麻烦吗?

有服务器的代码:

ServerSocket svrSock = new ServerSocket();
svrSock.bind(new InetSocketAddress("0.0.0.0", 11111));
while(true) {
    try {
        // accept connection
        Socket clientSock = svrSock.accept();
        // print the socket which connected to this server
        System.out.println("accept socket: " + clientSock);

        // run a thread for client
        new ClientThread(clientSock).start();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

还有js代码:

var url = 'ws://localhost:11111/test/';
var ws = new WebSocket(url);
ws.onopen = function(){
    console.log('connected!');
    ws.send(11111);
    ws.close();
};
ws.onclose = function(){
    console.log('closed!');
};

当我在firefox中运行这个js代码时,我在服务器控制台中得到了这个:

接受套接字:套接字[addr = / 127.0.0.1,port = 56935,localport = 11111]
接受套接字:套接字[addr = / 127.0.0.1,port = 56936,localport = 11111]

#1楼 票数:4 已采纳

这是Firefox 15中的一个问题,它将在firefox 16中修复: https//bugzilla.mozilla.org/show_bug.cgi? id = 789018

Firefox 15正在进行推测性连接,这对HTTP / SPDY很好,但由于WebSocket握手是HTTP 1.0(而不是1.1),它无法重新使用推测连接并且必须进行第二次连接。

如果您的服务器是正确的多线程并且可以接受多个连接但这很烦人,那么这不是一个关键问题。

  ask by takamachi translate from so

未解决问题?本站智能推荐:

2回复

WebSocket连接问题

我有一个在使用https://github.com/TooTallNate/Java-WebSocket编写的java应用程序中运行的websocket服务器,并尝试从浏览器连接到它。 浏览器每隔一秒发送一次连接请求,直到websocket服务器初始化为止。 websocket初始化后,Ch
1回复

Firefox,网络套接字和异常行为

背景: 在JavaScript + Play中使用WebSockets! 框架(2.2)。 可以在Chrome中很好地发送和接收数据。 由于send()不会触发任何回调,因此只能在Firefox中接收来自服务器的数据。 除了发送问题之外,并且仅在Firefox中,页面的选
6回复

无法在Firefox上建立Websocket安全连接

我被Firefox搞砸了。 我无法使Websocket工作。 我使用Tornado Websocket并通过以下代码初始化它: 我在Javascript端初始化它像这样: 此代码在Chrome上运行正常,同时我自己创建了证书并在HTTPS下运行该页面。 但Firefox一直这样说:
1回复

Websocket建立防弹连接

不存在时用于建立websocket连接的我的Coffee代码返回错误: 这是WebSocket的正常行为,但我希望WebSockets像这样工作: 我考虑try ... catch但我认为它很脏。 还有其他故障排除方法吗?
1回复

如何通过已建立的Websocket连接发送Websocket消息?

我正在使用Firefox与简单的websocket服务器进行交互。 打开网页后,Firefox建立与websocket服务器的连接。 在这种情况下,我希望能够使用此打开的连接发送消息。 我该怎么做? 我可以使用Firefox控制台并重新使用websocket对象向服务器发送消息吗?
1回复

Websocket未使用Firefox连接到openfire

我有以下脚本,我试图通过它使用 Firefox 中内置的 WebSocket 连接到 openfire。 索引.js 但它在浏览器控制台上显示了以下错误。 Firefox 无法与位于 ws://localhost:5222/ 的服务器建立连接。 任何人都可以告诉我我做错了什么,或者有其他更好的方
1回复

是否可以在FireFox/Safari中创建多个WebSocket?

我想在客户端和服务器之间创建两个WebSocket连接。 第一个连接用于将时间紧迫的应用程序的纯文本发送到端口1337。第二个连接应用于通过在端口443上使用tls进行安全的数据传输。我正在使用以下代码创建两个WebSocket: 好吧,在Chrome和Opera中运行它就像一个魅力。
2回复

在FireFox插件中使用websocket立即断开连接

我一直在研究与运行WebSocket服务器的本地应用程序交互的浏览器扩展。 Safari和Chrome扩展程序非常易于实现,经过一番头痛之后,FF开发便开始了,我认为我可以像在其他浏览器中一样实现WebSockets。 但是我遇到了一些问题。 我了解我无法在“主要” js文件中直接创建W