编辑:我可以用更短的方式提出问题,或许可以更紧密地关注真正的问题:
有没有办法让PHP套接字在多个页面上保持活动状态?也就是说,我可以以任何方式存储连接(套接字对象)吗?
我想在两个PHP页面之间保存套接字连接,其中另一个页面是通过jQuery ajax加载的。我尝试了会话,到目前为止在我的主页上有这个:
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$res = socket_connect($sock, $host, $port);
session_start();
$_SESSION['sock'] = $sock;
然后我用jQuery加载一个页面:
$("#" + in_name + "_holder").load("set_setpoint.php", {name:in_name, value:in_value});
在set_setpoints.php中:
session_start();
require_once("sock_funcs.php");
echo $_SESSION['sock'];
我只得到'0',但我应该得到的是“资源ID #xxx”。也许会议是错误的方式?
答案 0 :(得分:1)
您无法在页面之间传递资源。
答案 1 :(得分:1)
为什么不使用COOKIE保存您的价值,然后使用CLIENT随时随地访问。
<强> 1 强>
$ _ COOKIE [“socketNo”] =“somevalue”;
像
一样访问它$ _ COOKIE [ “socketNo”];
确保cookie可以访问。
<强> 2 强>
您可以将数据作为查询字符串传递给AJAX调用中使用的URL,并在脚本中检索它。
$(“#”+ in_name +“_ owner”)。load(“set_setpoint.php?socketNo =”,{name:in_name,value:in_value});
in set_setpoints.php
$ sock = $ _GET [“socketNo”];
答案 2 :(得分:0)
您可以使用GET或POST传递内容,也可以设置编码并在两个应用程序之间共享内容。
答案 3 :(得分:0)
尝试$ .get();在jquery ,,
你的问题$ .get()或$ .post();
如果你使用$ .get();那么你可以理解这个参数如何运行如果有任何疑问问我老兄..