热搜:NVER node 开发 php

php+websocket的demo调试老是连接中断

2024-08-16 20:20:01
php+websocket的demo调试老是连接中断

各位朋友大家好,最近在网上下到一个php+websocket的示例代码,调试时老是出现断开问题:
代码地址: http://www.lianyue.org/2013/2511/

1,我按要求配置了IP地址及开放的端口(8045),并在服务器上启动了server/index.php
2,我查看端口8045为listen状态,
3,我通过浏览器访问  http:/IP地址/websocket  老是提示为:“ 连接已断开, 6秒后自动重试”

请问各位朋友,究竟哪里会出现问题??
请不吝赐教,谢谢!


回复讨论(解决方案)

经测试,可以正常运行
你可在出现 “连接已断开, 6秒后自动重试” 时,重新运行服务端程序

经测试,可以正常运行
你可在出现 “连接已断开, 6秒后自动重试” 时,重新运行服务端程序



老大,我的一直显示“连接已断开, 6秒后自动重试”,

并且重新运行服务器端server/index.php也是显示这个信息。
请问我的端口显示如下有没有问题?(我用的是8045端口):


我还想知道您在server/config.php中设置的WEBSOCKET_HOST是127.0.0.1还是您的外网IP?
您在server/class/class_websocket.php中的$host设置为127.0.0.1还是您的外网IP?

我想是不是我这里设置的有问题,我都是设置为我的外网IP?我改为127.0.0.1也还是“连接已断开”

又或者是我的端口设置的有问题?我开放的是8045端口,经netstat -anp查看此端口已经处于监听状态,如上图所示,请老大给予关注解答,感谢!

1、我没对示例做任何修改
2、你修改了端口,那么你要使两处的端口号保持一致
   主控的 js 部分,和 server/config.php
   并要保持两边的 localhost 一致
3、你的外网地址在哪里的?不会是你的网络的出口吧?

1、我没对示例做任何修改
2、你修改了端口,那么你要使两处的端口号保持一致
   主控的 js 部分,和 server/config.php
   并要保持两边的 localhost 一致
3、你的外网地址在哪里的?不会是你的网络的出口吧?



1,
您没有对代码做任何修改?
websocket/index.php中的配置:
WS_STATIC_URL = 'http://127.0.0.1/websocket/static';
WS_HOST = '127.0.0.1';
也没有更改?那怎么会运行成功?

2,我之前是将所有的127.0.0.1更换为我的服务器IP地址,然后通过浏览器访问我的服务器IP地址/websocket 
然后显示就不支持,老是提示“连接已断开, 6秒后自动重试”这样。

3,外网地址就是我的服务器IP地址

这种实验性的应用项目,本来就是在本地服务器上做测试用的。
你需要先在本地服务器上调试通过后,才可考虑应用于实际工作中
你给的那个连接中的 demo 连接就是有问题的,你测试过吗?

这种实验性的应用项目,本来就是在本地服务器上做测试用的。
你需要先在本地服务器上调试通过后,才可考虑应用于实际工作中
你给的那个连接中的 demo 连接就是有问题的,你测试过吗?



我测试了的,感觉没什么问题啊,我布在我服务器上就出现问题了。
很不解。

我昨天测试时就有问题,或许是他的服务端没打开吧

你先要在本地服务器上测试通过,再放到外网服务器上
这样就容易发现到底是哪里出了问题

我昨天测试时就有问题,或许是他的服务端没打开吧

你先要在本地服务器上测试通过,再放到外网服务器上
这样就容易发现到底是哪里出了问题



ok。好的,谢谢指点。我现在本地试试看。

部署到服务器上的时候要注意打开 服务器的防火墙!!!!!

部署到服务器上的时候要注意打开 服务器的防火墙!!!!!



为什么要打开防火墙?我是关闭了的,因为怕端口受限!

按照提示更改
WS_STATIC_URL = 'http://127.0.0.1/websocket/static';
WS_HOST = '127.0.0.1';


我这边在win下测试,也会出现这样的问题。

要不你换个websocket服务端吧
这有个:
DEMO : websocket 聊天室
源码:  websocket 聊天室 源码
还是开源的

要不你换个websocket服务端吧
这有个:
DEMO : websocket 聊天室
源码:  websocket 聊天室 源码
还是开源的



这个好像ie下不行哎,不支持?我ie一打开就alert窗口死循环。

如图:



点击确定,又弹出,不停确定不停弹出。。。。。死循环。

朋友,有解?

websocket 是 HTML5 才有的,你不会连这个常识也不知道吧?

看看php.ini extension=php_sockets.dll 是否已开启