노드 j에서 방금 작업을 시작했습니다. 노드 js를 사용하여 채팅 응용 프로그램을 만들려고했습니다. 단일 사용자가 여러 장치 또는 브라우저를 통해 로그인 할 수 있습니다. 내가 잘못 아니었고 각 브라우저가 IP 주소와 포트 주소에 의해 소켓 연결이 정의 된 이후에 서로 다른 포트 주소로 통신한다는 것을 이해할 수 있습니다. 따라서 동일한 사용자가 두 개의 다른 브라우저에서 로그인 할 때 서버는 두 개의 다른 소켓 ID를 만듭니다. 만약 사용자가 이미 소켓 정보를 보내는 매개 변수를 확인하여 연결되어 있다면. 사용자가 이미 연결되어 있거나 소켓이 이미 사용자에 대해 설정되어 있으면 소켓 ID를 이전 소켓 ID로 변경하기위한 연결을 만듭니다. 다른 클라이언트가 다음 현재 사용자에게 메시지를 방출 할 때 k는노드 js 소켓 연결
이제 이전에 연결된 동일한 사용자의 소켓 ID입니다
io.on('connection', function(socket){
socket.id = k;
});
소켓 ID가 교체되고 하나의 브라우저는 메시지 또는 둘을 얻는다 메시지를받습니다. 서버 연결이 브라우저 또는 단일 브라우저 모두에 설정되어 있는지 확인하십시오. 제발 도와주세요. 소켓 연결이 클라이언트와 서버간에 어떻게 설정되는지 아직 명확하지 않습니다. 내가 잘못 생각한 부분을 개선하십시오. 또는 다음의 scenerio를 어떻게 해결해야합니까? 미리 감사드립니다.
제 질문은 다른 브라우저 또는 컴퓨터에 대한 것입니다. 사용자가 여러 컴퓨터에서 로그인하거나 다른 브라우저 일 수 있습니다. –
다른 브라우저 또는 다른 컴퓨터 (룸/네임 스페이스 구현이없는 경우)는 탭이 여러 개있는 것과 같습니다. 소켓은'someIp : somePort'라고 말할 수 있습니다. '98.45.32.21 : 3000'은 변경되지 않으므로, "hello"를 보내면 서버가 hello (위의 구현에서)와 함께 모든 사람에게 응답합니다. – mkaran
사용자가 두 개의 다른 브라우저에서 로그인하여 동일한 메시지 - 그의 메시지 만 볼 수있게하려는 경우 해당 사용자를 올바른 회의실과 연관시켜야하므로 두 번째 브라우저에서 연결하고 사용자임을 알 수 있습니다 'sagar', 당신은 그를 올바른 방에 합류시킬 것입니다. – mkaran