反映了来自其他计算机的客户端操作
Reflected client actions from a different computer
我正在写我的新博客,目前服务器端是NodeJS(使用expressjs),我在我的计算机上托管服务器。
为了快速开发,我使用了GulpJS。
在我解释奇怪的事情之前。让我说两个端口(3000和80都打开)。
- Gulp版本:
3.9.0
- NodeJS版本:
0.10.35
- 浏览器同步:
2.7.12
这是我的index.js
,我用node index.js
启动服务器。
var express = require('express');
var app = express();
app.use(express.static('public'));
app.set('base', '/public');
app.get('/', function(req, res) {
res.sendfile('index.html');
});
var server = app.listen(80, function() {
var host = server.address().address;
var port = server.address().port;
console.log('Example app istening at http://%s:%s', host, port);
});
现在这是我使用的gulpfile.js
的重要部分(为了简单起见,我删除了大多数任务):
var sync = require("browser-sync").create();
gulp.task('browser-sync', function() {
sync.init({
proxy: "http://localhost:80",
browser: "chrome",
port: 3000
});
});
所以,在我的博客上工作了一段时间后,我决定把它展示给一个朋友,当NodeJS
服务器正在运行,Gulp
正在监视一些html
、js
和sass
文件时,我把我的domain.ml:3000
发送给我的朋友,域指向我的外部IP,端口3000
是由gulpfile.js
定义的代理引起的。
我无法解释的奇怪事情:
当我的朋友玩这个网站时,他的行为反映给了我,这意味着当他点击一个 我想这是src
属性设置为#
的链接时,我们都访问了domain.ml:3000
和,在我这边,url更改为domain.ml:3000/#
,我还有一个链接,当点击时会打开一个选项卡(转换是由一些js+css转换完成的),当选项卡在他的一侧打开时,它也在我的一侧browser-sync
代理的问题,但我无法解释也无法理解这种行为,如果有人能帮我弄清楚,我会非常感激,祝你今天愉快。
这基本上就是浏览器同步的目的。你可以同步浏览器来同时测试同一个应用程序。一旦你做了一个gullow构建并提供该构建,而不是你的"开发版本",这种情况就会改变。
这就是交易,浏览器同步通过您的代理将哈希url发送到您的服务器(当您单击带有"#"的链接时),该片段有不同的处理方式。
端口80上的服务器现在是一个木偶,正在重播浏览器同步会话中的所有URLS,你们都连接在浏览器同步端口3000上,当其中一方发送哈希更改时,你们都会收到新位置,因为端口80上服务器现在也有了新位置。
- 客户端服务器REST API captcha实现
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 如何使用Socket.io将命令从客户端发送到服务器
- 如何轻松地将服务器端变量从Java代码转移到客户端代码
- Meteor方法在客户端返回null,在客户端运行的相同方法返回正确的值
- 从客户端获取修改后的对象,并将其与服务器上的原始对象组合
- 是否可以使用 PHP 或 JavaScript 或任何其他编程语言在客户端计算机中存储大约 1 MB 的数据
- 通过 THREE.js 从客户端的本地计算机加载 .obj 模型
- 想要显示服务器 UTC 日期时间,而不考虑客户端计算机的日期时间
- 如何检测客户端´s的计算机语言/或其他什么,以便自动更改网站中的语言
- 创建通过客户端计算机路由的代理
- 如何从WebSocket客户端计算机进入睡眠状态或应用程序进入后台(iPad上的Safari)中恢复
- 将客户端数据发送到另一台计算机
- 如何从Asp.net web应用程序(internet应用程序)中获取客户端计算机名称
- 反映了来自其他计算机的客户端操作
- 获取客户端PC计算机名称或mac地址
- 正在NodeJS web应用程序中获取客户端计算机名称
- 在下载到客户端计算机之前预处理 Javascript
- 在PHP中是否有可能发现客户端的计算机没有处于睡眠状态或锁定模式?
- 如何获取客户端计算机中所有已安装应用程序的列表