websocket - php socket

WBOY
发布: 2016-06-06 20:37:09
原创
1890 人浏览过

今天研究websocket的时候,发现网上很多websocket+php的demo都是要在命令行输入php -q xxx.php来启动服务端,我对php不是很熟悉,想请问以下这种场景能实现吗?

浏览器ajax请求创建socket-->服务端接收并建立socket,返回socket地址和端口,

浏览器接收到socket地址和端口,开始new websocket,与服务端建立socket链接。

另外:每个浏览器与同一服务器建立socket连接,服务端是不是就得新开一条进程??

回复内容:

今天研究websocket的时候,发现网上很多websocket+php的demo都是要在命令行输入php -q xxx.php来启动服务端,我对php不是很熟悉,想请问以下这种场景能实现吗?

浏览器ajax请求创建socket-->服务端接收并建立socket,返回socket地址和端口,

浏览器接收到socket地址和端口,开始new websocket,与服务端建立socket链接。

另外:每个浏览器与同一服务器建立socket连接,服务端是不是就得新开一条进程??

使用命令行运行服务端,是因为这样更健壮,不要尝试以php-fpm或者apache这样WEB服务的方式建立起服务端,不切实际。

PHP编写服务端,可以考虑下用这个,http://www.swoole.com/。

一般稳定的server都要以deamon的形式运行存在。
楼上说的swoole是用C扩展实现的php socket server,类似的还有workerman,workerman是基于php的pcntl实现,可以说是原生PHP实现的,共同点就是一定要以deamon形式运行server,抛开http层的apache或者nginx,直接走socket(按我的理解,是传输层的东西)。

ajax可以链接server,你可能,我是说可能,会遇到ajax跨域的问题。

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板