在我的网站上,我有不同的页面,每个页面都有包含的javascript
var socket = io.connect('http://localhost:8888');
在app.js(服务器文件)上,它被编码为每当它接收到连接时,它都会做一些事情,无论客户端来自哪个页面。
io.sockets.on ('connection', function (socket) {
// do something
});
然而,我希望app.js根据客户端来自的页面执行不同的操作,这可能吗?
谢谢!
这是可能的。有两种方式:
1) 您可以从客户端发送一个标头和数据。你可以这样检索:
String userAgent = request.getHeader("user-agent"); //ter accepting connec Browser identifier.
String remoteAddr = request.getRemoteAddr();
2) 或者,您可以发送一个额外的变量来存储客户端的ID号。在服务器端,您可以将所有客户端ID存储在一个数组中,在接受连接后,您可以使用if else来确定客户端匹配的ID,并相应地执行任务。
仅当您将当前页面发送到服务器时,或者仅发送location.href以使其对每个页面都通用。SocketIO无法神奇地看到请求来自哪个页面。