Node.js 快速节点插座.io指示灯
我的后端和前端在LAMP环境下运行,可访问Node.js 快速节点插座.io指示灯,node.js,express,cookies,socket.io,lamp,Node.js,Express,Cookies,Socket.io,Lamp,我的后端和前端在LAMP环境下运行,可访问192.168.80.213/后端192.168.80.213/前端 我尝试使用nodejs、socket.io和express框架制作一个推送通知服务器,以链接后端和前端 示例:用户从前端订购某物,我从前端向我的nodejs服务器发出套接字,然后nodejs服务器向后端发出实时通知“嗨,你有新订单了” 我的nodejs服务器正在监听端口3000,而我的后端和前端监听端口80都使用apache 这是我的后端节点客户端: <script type="
192.168.80.213/后端
192.168.80.213/前端
我尝试使用nodejs、socket.io和express框架制作一个推送通知服务器,以链接后端和前端
示例:用户从前端订购某物,我从前端向我的nodejs服务器发出套接字,然后nodejs服务器向后端发出实时通知“嗨,你有新订单了”
我的nodejs服务器正在监听端口3000
,而我的后端和前端监听端口80都使用apache
这是我的后端节点客户端:
<script type="text/javascript" src="script/javascript/socket.io-1.4.5.js"></script>
<script type="text/javascript">
var socket = io('http://192.168.80.213:3000/');
</script>
转到192.168.80.213:3000
查看“来自节点的Hello”,并根据下面的屏幕截图设置cookie['connect.sid']
和控制台输出:
现在清除缓存,我将转到我的后端应用程序,其中是我的nodeClient192.168.80.213/后端
connect.sid cookie不存在
和控制台输出:
为什么express会话不会设置cookie.sid?我怎样才能解决这个问题?我对node和express是新手,我花了很多时间在google上搜索都没有成功,希望一些node高手能帮助我
问候
编辑1
我在我的apacheconf中添加了这个
ProxyPass /node http://localhost:3000/
ProxyPassReverse /node http://localhost:3000/
ProxyPreserveHost On
因此,我可以使用192.168.80.213/node访问我的节点逻辑
但现在在我的客户端,我遇到了一个错误:
var socket = io('http://192.168.80.213/node');
192.168.80.213/socket.io/?EIO=3&transport=polling&t=leehkf 404(未找到)
我想这是因为它位于不同的端口上。你的PHP程序做什么?在节点中复制它可能非常容易。这样,您只需要一个程序和一个端口
或者,您可以使用Apache或nginx配置之类的工具,使用反向代理或其他工具使端口在URL中消失,以便浏览器保留cookie
或
var socket=io(“”,{path:'/node'});
试试这个我只能用node做同样的程序,但我没有足够的时间,这是一个很大的PHP程序。我尝试使用apache,但我的nodeclient不再工作,并返回404错误:(也许你有一些配置提供给我@JasonLivesay?我看到io path选项可能是诀窍。我应该为path设置什么值?!
var socket = io('http://192.168.80.213/node');