如何在名称空间socket.io中连接客户端和其他客户端? dbOperations.saveRequest(db、requestId、requestTime、location、eventData.citizenId、'waiting',函数(结果){ //2.救人后,从市民所在地接附近的警察 dbOperations.fetchNearestCops(数据库、位置、坐标、函数(结果){ eventData.requestId=requestId; //3.在找到最近的警察后,向每个警察发出“求助”事件 对于(var i=0;i
我想将事件发送给某个特定的警察,但不是全部。。。。。。。。。如何在名称空间socket.io中连接客户端和其他客户端? dbOperations.saveRequest(db、requestId、requestTime、location、eventData.citizenId、'waiting',函数(结果){ //2.救人后,从市民所在地接附近的警察 dbOperations.fetchNearestCops(数据库、位置、坐标、函数(结果){ eventData.requestId=requestId; //3.在找到最近的警察后,向每个警察发出“求助”事件 对于(var i=0;i,socket.io,Socket.io,我想将事件发送给某个特定的警察,但不是全部。。。。。。。。。 我不知道io.socket.in如何工作,有人能给我建议一个正确的参考来继续PLZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ。因此,每当连接用户套接字时,我们首先注册该用户,因此这一层添加用户ID到socketId的映射,当用户断开连接时,我们删除基于socketId的映射 因此,如果您想
我不知道io.socket.in如何工作,有人能给我建议一个正确的参考来继续PLZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ。因此,每当连接用户套接字时,我们首先注册该用户,因此这一层添加用户ID到socketId的映射,当用户断开连接时,我们删除基于socketId的映射 因此,如果您想发送给用户,请将此用户ID传递给此层,并且此层(如果有到socketId的映射)将发送数据 伪代码
dbOperations.saveRequest(db, requestId, requestTime, location, eventData.citizenId, 'waiting', function(results) {
//2. AFTER saving, fetch nearby cops from citizen’s location
dbOperations.fetchNearestCops(db, location.coordinates, function(results) {
eventData.requestId = requestId;
//3. After fetching nearest cops, fire a 'request-for-help' event to each of them
for (var i = 0; i < results.length; i++) {
io.sockets.in(results[i].userId).emit('request-for-help', eventData);
}
});
});
});
比你多了,兄弟。
var userMap ={};
var socketMap ={};
io.sockets.on('connection', function(socket) {
socket.on('register', function(userId, cb) {
/*Our custom event, which on basis of userId add mapping between user and socketid*/
userMap[userId] = socket.id; //save user
socketMap[socket.id] = userId; //save socket
});
socket.on('disconnect', function(userId, cb) {
/*When socket disconnect, remove mapping*/
delete userMap[socketMap[socket.id]]; //remove user
delete socketMap[socket.id]; //remove socket
});
});
/*Function used to send message*/
function sendMessage(userId){
if(userMap[userId]){
io.to(userMap[userId]).emit('message');
}
}