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