2013-03-14 2 views
0

signalR을 사용하여 채팅 응용 프로그램을 만들고 있는데 클라이언트 측에서 연결 끊김을 캡처 한 다음 허브에서 메서드를 호출 할 수 있는지 궁금합니다. myHub.disconnect 이벤트가있는 경우 사용자가 연결을 끊signalR 클라이언트 연결이 끊어졌습니다

var myHub = $.connection.myHub; 
$.connection.hub.start(); 

myHub.disconnect(function() { myHub.server.someMethod(username) }); 

입니다 : 내가 이런 일을하고 싶지 예를 들어

?

감사합니다.

답변

3

아니요. 연결 해제 트리거가 연결되면 이미 연결이 끊긴 상태가되어 더 이상 메소드를 트리거 할 수 없습니다.

연결이 끊긴 후에 논리를 수행하여 허브의 OnDisconnected 오버라이드에 연결하려는 경우. 예를 들면 다음과 같습니다.

public class MyHub : Hub 
{ 
    public override Task OnDisconnected() 
    { 
     // Do what you want here 
     return base.OnDisconnected(); 
    } 
} 
+0

감사합니다. 어쨌든 OnDisconneced에 인수를 전달할 수 있습니까? 또는 클라이언트가 이미 연결 해제 되었기 때문에 완료 할 수 없습니까? –

+0

OnDisconnected에 인수를 전달할 수 없으며 연결이 끊어진 클라이언트로 보내려고하는 데이터는 클라이언트에 도달하지 않습니다. OnDisconnected가 실행되면 클라이언트가 종료됩니다. –

관련 문제