【发布时间】:2014-06-30 06:16:36
【问题描述】:
我正在尝试将 PHP 函数转换为 jQuery 函数,以便可以直接从浏览器使用 TCP/IP 套接字本地连接。
我用这个:
$socket = @fsockopen('xxx.xxx.xxx.xxx', '8810', $err_no, $err_str);
if(!$socket){
return 'Errore #'.$err_no.': '.$err_str;
}else{
fwrite($socket, '["D";"C";"?ST";200]');
$read = fread($socket, 2024);
//other stuff...
return $read;
fclose($socket);
}
这很好用。然后我从 Google Code 网站下载了Github jQuery Websocket 0.0.4 并按照示例进行操作,但没有成功。
我只是尝试以这种方式建立连接并发送数据:
ws = $.websocket("ws://95.110.224.199:8810/");
ws.send('string', '["D";"C";"?ST";200]');
这给了我“未定义不是函数”错误。
然后我尝试查看连接是否真的以这种方式建立(不发送数据):
var ws = $.websocket("ws://xxx.xxx.xxx.xxx:8810/", {
open: function() {console.log('WS:connesso')},
close: function() {console.log('WS:chiuso')},
});
我运气不好...控制台什么也没说... 对此有任何提示或帮助吗?任何帮助表示赞赏。
【问题讨论】:
-
我不知道那个库,但看起来你只是想建立一个简单的 WS 连接并发送一些东西,也许使用默认功能会更好。在这里查看一个简单的 WebSocket JS 指南:tutorialspoint.com/html5/html5_websocket.htm
-
嗨,tks,这给了我这个错误
WebSocket connection to 'ws://xxx.xxx.xxx.xxx:8830/' failed: Connection closed before receiving a handshake response。我也尝试过 ReconnectingSocket 但仍然... -
这可能表示 A:Socket 没有运行,B:端口已被占用,C:握手没有正确完成(使用不同版本的 PHP 实现也有同样的问题),D:访问您的浏览器设置可能会禁止跨域 websockets。还有更多的场景,但那些是我现在能回忆起的。无论如何,我认为问题更多在于服务器实现。如果没有关于您的服务器和具体实现的更多信息,很难正确地帮助您
-
你的服务器支持 websockets 吗?
标签: javascript jquery sockets websocket