Node.js 快速节点插座.io指示灯

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="

我的后端和前端在LAMP环境下运行,可访问
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']

和控制台输出:

现在清除缓存,我将转到我的后端应用程序,其中是我的nodeClient
192.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');