这个pfsockopen是不是必然在当前页面一结束就断开连接
如果是的话,不管是保存在database或是session或是其他方法保存的$fp
都没有意义,因为只不过保存了一个符号,符号所代表的有用的socket已经消失了

解决方案 »

  1.   

    我觉得你是没搞定SESSION的使用
    可能使用数据库保存会简单些,虽然浪费速度和资源。pfsockopen  打开网路的 Socket 持续连结语法: int pfsockopen(string hostname, int port, int [errno], string [errstr], int [timeout]);
    传回值: 整数
    函式种类: 网路系统内容说明 
    本函式和 fsockopen() 类似,但本函式在 PHP 程式结束时,不会将网路 socket 连结关闭,仍保持连线。用这种方式,可以增加效率,但较耗系统资源。
      

  2.   

    如果echo $fp;
    出来的结果是 Resource id #1
    也不是int 型
    如果当int的就放不进去,sql语句报错
    如果当text型的,保存以后再取出来也不能用我又试了一遍,用vb做了一个能显示服务器socket状态的程序
    然后用php的pfsockopen连接那个vb程序,发现即使用pfsockopen,当php页面执行完毕后socket也同时被关闭。
    和上贴函数说明介绍的有差别。我用的语句就是类似于$fp =pfsockopen("111.222.111.222",6000);
    难道有错?这个$fp到底怎么用的?如果没戏了,各位知道还能用什么其他的简单的办法能实现browser<->server的应用
      

  3.   

    应该就是用fsockopen()
    你把server端做成一个服务
    在php里用函数封装连接我不明白,为什么只允许连接一次?
      

  4.   

    server端是不能改动的,因为不是我开的server
    也实际上就是一个上bbs server用的,原来是用一个client上bbs server
    要改成用browser上bbs
    而上bbs当然不能总是上站下站的,每次登陆还要输密码的,要给好友发上线通知,进站画面...
    所以只能一开始登陆一次以后一直保持连接
    你说的做成服务和封装是什么意思
      

  5.   

    我也试过pfsockopen,不保存变量,再刷新也不出问题,只是没结果!英文帮助也有人说不行!