微信小程序实现即时通信聊天功能的实例代码

  

项目背景:小程序中实现实时聊天功能

  

  

配置流程

  

微信小程序实现即时通信聊天功能的实例代码

  

配置参考的URL: https://developers.weixin.qq.com/miniprogram/dev/api/api-network.html

  

        上游websocket {   哈希美元remote_addr一致;   服务器127.0.0.1:9090重量=5 max_fails=3 fail_timeout=30年代;   }   服务器{   听80;   server_name www.xxxx.cn;   重写^ (. *)https://主机1美元美元永久性的;   }   服务器   {   听443;   server_name www.xxxx.cn;   ssl>   wget http://pecl.php.net/get/swoole-1.9.3.tgz//下载swoole   焦油-zvxf swoole-1.9.3。tgz//解压swoole   cd swoole-1.9.3/;//进入swoole/usr/local/php54/bin/phpize;//生成配置   ./configure——with-php-config=/usr/地方/php/bin/php-config   使,,make install//安装   cd/phpstudy/服务器/php/lib/php/扩展/不-调试-非zt型- 20121212//查看是否安转上了swoole。(注意:此文件下边都是你安装的拓展)   vim/phpstudy/服务器/php/etc/php。ini//在php . ini中添加扩展=swoole.so加入到文件最后一行   lnmp重启;//重启nginx   php - m;//查看phpinfo,这时候swoole拓展已经装上了      

  

1,创建server.php放到项目的根目录即可

        & lt; & # 63; php//实例化一个swoole的websocket服务监听本机的9501端口   服务器=new swoole_websocket_server美元(“服务器IP”, 9090年);//只需要绑定要监听的ip和端口。如果ip指定为127.0.0.1,则表示客户端只能位于本机才能连接,其他计算机无法连接。//端口这里指定为9090,可以通过netstat查看下该端口是否被占用。如果该端口被占用,可更改为其他端口,如9502、9503等。   服务器→美元(“开放”,函数(服务器,美元swoole_websocket_server请求){   回应“你好连接成功{$请求→fd} \ n”;   });   服务器→美元(“消息”,函数(服务器,美元swoole_websocket_server帧){   foreach($服务器→连接键=美元比;fd美元){   user_message=美元框架→数据;   服务器→美元推动(fd, user_message美元);   }   });   服务器→美元(“关闭”,函数(ser、fd) {   回声“客户{$ fd}关闭\ n”;   });   服务器→美元开始();   & # 63;在      

2,由于swoole_server只能运行在CLI模式下,所以不要试图通过浏览器进行访问,这样是无效的,我们在命令行下面执行,注意一定要找到php的绝对路径php server.php (这行代码的意思是,把程序在服务器跑起来)

  

注意:<代码> php服务器。php代码命令运行后,下面的黑框关闭后将无法聊天。所以一般使用命令:<代码> nohup php服务器。php,

  

  

  

1,网页代码

        & lt; !DOCTYPE html>   & lt; html>   & lt; head>   & lt;元charset=皍tf - 8”比;   & lt; title>聊天& lt;/title>   & lt;风格类型=" text/css "比;   #显示{   宽度:600 px;   身高:300 px;   overflow-y:滚动;   }   .my-message {   background - color: rgba (105、105、105、0.64);   颜色:# 9 e0505;   宽度:200 px;   浮:正确;   填充:10 px;   }   .other-message {   background - color: rgba (105、105、105、0.64);   颜色:# 9 e0505;   宽度:200 px;   浮:左;   填充:10 px;   }   & lt;/style>   & lt;/head>   & lt; body>   & lt; div id="显示"祝辞& lt;/div>   & lt; div类=懊姘濉北?   内容:& lt; textarea id=澳谌荨弊4? lt;/textarea>   收信人:& lt; input type=" text " id=俺臣堋北?   & lt;输入类型="按钮" id=" send-btn " value=" https://www.yisu.com/zixun/发送”在   & lt;输入类型="按钮" id=" close-btn " value=" https://www.yisu.com/zixun/关闭”比;   & lt;/div>   & lt;/body>   & lt;脚本src=" https://www.yisu.com/zixun/__PUBLIC__/js/jquery-1.10.2.min.js " charset=皍tf - 8”祝辞& lt;/script>   & lt;脚本type=" text/javascript祝辞   var插座=new WebSocket (wss://域名”);   $ (" # close-btn”)。点击(函数(){   socket.close ();   })   $ (" # send-btn”)。点击(函数(){   var使用=$(" #用”).val ();   var内容=$(" #内容”).val ();   var htmlstr=" & lt; div> & lt; p类=拔业男畔ⅰ痹谖?”+内容+“& lt;/p> & lt;/div>”;   $(" #秀”).append (htmlstr);   socket.send(内容+“@”+用);   })   套接字。onmessage=函数(p1) {   var htmlstr=" & lt; div> & lt; p class='其他消息在“+ p1.data +“& lt;/p> & lt;/div>”;   $(" #秀”).append (htmlstr);   }   & lt;/script>   & lt;/html>

微信小程序实现即时通信聊天功能的实例代码