一直以来对php的即时通讯都很好奇,其实是不知道应该怎么来实现,后来了解到了swoole和workerman这两个神器,他们都可以实现即时通信的功能,其中swoole是C语言编写的php扩展,其配置起来比较麻烦,但是性能还是很强悍的这些可以自己去官网上面搜,还有一个就是workerman框架啦!它确实是使用php写出来的框架而且使用的就是php socket中的东西。如果是将项目项目布置到linux服务器的话我觉的两者都可以,但是如果你是使用的windows服务器的话那就面临着一个困难———swoole不支持windows环境,当然如果非要布置的话使用docker应该也可以,但是总觉的有些不伦不类的感觉(不是说docker不伦不类,docker确实强悍),那么我们怎么办呢??这个时候就凸显出workerman的优势啦!它可以在windows系统运行下载这个聊天室项目
workerman聊天室 http://www.workerman.net/workerman-chat
点击 start_for_win.bat 会出现一个黑窗口 在浏览器中浏览http://127.0.0.1:55151就可以看到聊天室页面啦!但是当我们关闭黑窗口的时候会发现在浏览端口55151时什么都没有啦!当项目真正部署是我想这样是很不安全的,所以我们要找到一种方法来实现守护进程,将这个 bat文件当做windows服务来运行,下面我找到了nssm,用nssm来将bat转化为服务
先下载 nssm软件,这个在百度上直接搜索一个就可以啦!下载下来之后是一个压缩包解压找到对应你自己系统的32/64位nssm(在cmd窗口中找到该路径下的nssm)执行 nssm install <服务名> 例如: nssm install workerman
然后回车出现nssm的配置界面 在界面中填写你的 项目中的bat文件地址,例如
点击 install service ,如图
当显示successfully的时候说明服务已经安装成功啦!我们可以点击我的电脑-》管理-》服务 查看一下是不是存在这个服务,如图我的已经可以看到服务名为workerman的服务啦!
但是这个时候浏览 http://127.0.0.1:55151还是不能正常浏览,因为我们还没有将服务打开,接下来点击左上角的启动按钮,当服务启动后在浏览http://127.0.0.1:55151就可以正常浏览啦!再也没有烦人的黑窗口啦!!大功告成!!!!