首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我可以将基于node.js/express的聊天集成到基于PHP/jquery的站点中吗?

我可以将基于node.js/express的聊天集成到基于PHP/jquery的站点中吗?
EN

Stack Overflow用户
提问于 2014-07-29 05:03:07
回答 2查看 371关注 0票数 0

我有一个已建立的网站,我想使聊天客户端。我想自己写这篇文章,只是为了好玩,同时也想了解一点node.js和express。现在我有一个基于jQuery/PHP/MySQL和ajax轮询的聊天系统。它很慢,而且我每5秒才轮询一次,所以它看起来也很慢。

我可以用node.js编写聊天记录,但我的问题是:如何在我的老学校页面中包含我的聊天记录。我希望它是一个框,它是在我所有页面的底部角落。我不关心css,只关心如何集成它。聊天是否应该存在于它自己的域(chat.example.com)中,并且只允许跨站点访问?

EN

回答 2

Stack Overflow用户

发布于 2014-07-29 05:20:41

以下是对访问控制标头的引用。

https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS

如果您的PHP应用程序正在运行,请在nginx之后运行。您可以在nginx中设置一个路由,将这些请求转发到聊天服务器。

下面是一个示例:

代码语言:javascript
运行
复制
upstream app_chat {
    server 127.0.0.1:8080;
}

server {
    listen 0.0.0.0:80;
    server_name www.mydomain.com mydomain;

    location /chat {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;

        proxy_pass http://app_chat/;
        proxy_redirect off;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

因此,从您的客户端js

代码语言:javascript
运行
复制
var sock = io.connect('ws://mydomain/chat');
sock.on('chat', function (msg) {
  console.log('msg', msg);
});
票数 0
EN

Stack Overflow用户

发布于 2014-07-29 05:21:45

可以,停那儿吧。我不知道你的应用有多复杂。但是,在不同的端口上运行节点服务器就可以了。

假设您的PHP应用程序在端口80上运行。现在,运行处理8080上聊天系统的node.js服务器。然后,在您的PHP页面中包含一个JS文件(chat.js)。

chat.js

代码语言:javascript
运行
复制
var connection = io.connect('YOUR_NODE_SERVER_URL'); //like http://localhost:8080

/*
your code
*/

就这样。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25004316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档