javascript - 用node.js和socket.io做了一个即时聊天功能,怎么部署到线上??

查看:68
本文介绍了javascript - 用node.js和socket.io做了一个即时聊天功能,怎么部署到线上??的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

聊天的功能是根据网上的例子做的,由于没有做过,所以单独建立文件夹做的功能,现在做好了,怎么把这个文件夹放到项目中去。

这个是聊天的目录结构,

下面这个是用TP框架做的项目。想把上面的文件夹放到Home模块里,在前台显示聊天页面。但是访问不了页面啊

单独测试聊天页面

【Apache监听的是80,node.js是监听8080,把聊天文件放入到项目中,访问该页面怎么访问】

解决方案

在需要的php的view层html页面的script标签让它去连接node就行,贴一段我之前的实现:

...省略...
<script src="//cdn.bootcss.com/jquery/3.1.1/jquery.min.js"></script>
<script src="http://localhost:3000/socket.io/socket.io.js"></script>
<script type="text/javascript">
    $(function () {

        var socket = io.connect('http://localhost:3000');

        // info
        var uid = '<?php echo $uid;?>';
        var username = '<?php echo $username;?>';
        var roomId = '<?php echo $roomId;?>';

        var info = {"uid": uid, "username": username, "roomId": roomId};
        // 用户加载此页面后,将用户信息传给node服务器
        socket.emit('on_load', info);
        // node发送欢迎给所有客户端,有新的用户加入
        socket.on('welcome', function (msg) {
            $('.room-message').append('<p style="color: #ff0000;">系统消息 ' + getNowFormatDate() + ': <br>' + msg.username + ' 加入房间</p>');
        });
        ...省略...
    });
</script>

不知道你是否能明白这个逻辑,总是php依旧和正常一样处理逻辑,只是用view层通过javascript代码段连接socketio或者说就是node服务器,完成实时功能。

这篇关于javascript - 用node.js和socket.io做了一个即时聊天功能,怎么部署到线上??的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆