websocket - php socket

WBOY
發布: 2016-06-06 20:37:09
原創
1893 人瀏覽過

今天研究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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板