Home  >  Article  >  Backend Development  >  php+websocket的demo调试老是连接中断

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

WBOY
WBOYOriginal
2016-06-23 13:44:281597browse

各位朋友大家好,最近在网上下到一个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 是否已开启

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn