javascript - 用node.js和socket.io做了一个即时聊天功能,怎么部署到线上??
本文介绍了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屋!
查看全文