asp.net에서 서버 측 클라이언트 측 jquery 이벤트를 어떻게 트리거 할 수 있습니까? 내 채팅 섹션에서 구현하고 싶습니다 ... 현재 채팅은 정상적으로 작동하는 것 같습니다 ...하지만 문제가 하나 있습니다 ... 클라이언트의 브라우저에서 채팅 기록에 5 초마다 요청을 보내야합니다. 나는서버에서 jquery 함수를 호출하십시오.
이사람이 내 문제에 대한
asp.net에서 서버 측 클라이언트 측 jquery 이벤트를 어떻게 트리거 할 수 있습니까? 내 채팅 섹션에서 구현하고 싶습니다 ... 현재 채팅은 정상적으로 작동하는 것 같습니다 ...하지만 문제가 하나 있습니다 ... 클라이언트의 브라우저에서 채팅 기록에 5 초마다 요청을 보내야합니다. 나는서버에서 jquery 함수를 호출하십시오.
이사람이 내 문제에 대한
당신이 정기적으로 사용을 위해 정말 준비가되지 않은 HTML5 WebSocket을 같은으로받지 않고 할 수있는 최선을 다하고 있습니다 어떤 솔루션을 제공 할 수 있습니다 ... 좋은 생각이 아닌 느낌 아직.
두 가지 옵션 :
wcf duplex와 같은 wcf 기술을 사용할 수 없습니다. – user321963
기본적으로 클라이언트 브라우저에서 폴링해야합니다. 그것이 바로 아약스가 작동하는 방법입니다. 푸시 모델 인 코멧이라는 기술이 있습니다.
다음과 같이 jQuery 플러그인을 사용해 볼 수 있습니다 : http://plugins.jquery.com/project/jQuery-Comet-Push-API.
(가까운 미래에) 웹 소켓도 HTML5에서 사용할 수 있습니다. 다음은 http://channel9.msdn.com/Events/MIX/MIX11/HTM10에서 가져온 정보입니다.
WebSockets의, 신흥 명세서 는 W3C와 IETF에 의해 표준화되고있는, 원격 호스트와 양방향, 전이중 통신 채널을 열어 웹 브라우저뿐만 아니라 클라이언트 어플리케이션을 가능하게 할 것이다.
MIX11 비디오를 꼭 확인하십시오!
웹 소켓 용 +1 언급하다. 또한, 우리는 아마도 Comet을 종종 "푸시 (push)"라고 부르는 동안 언급해야합니다 ... 푸시는 잘못된 명칭입니다. 혜성은 (최적화 된) long-polling 메카니즘이며, 실제로 구독 된 이벤트 중심의 "푸시 (push)"데이터가 없습니다. –
비록 ASP.Net에 익숙하지 않지만이 문제는 다른 방법으로 해결할 수 있습니다.
서버가 실행해야하는 함수 이름을 반환 한 다음 콜백 함수에서 호출합니까? 일종의 이런
$.post("yourpage.aspx",
{
d1: "v1"
},
function(data) {
//now the data will hold the name of the function
window[data]();
}
);
는 이제 다른 함수에서, 위의 코드를 포장하고, 타이머를 설정, 정기적으로 응답을 확인하고, 실행할 수 있습니다 (그냥 오타에 불과하다) 조건이 일치하면 함수.
P. 스크립트가 조건이 일치하는지 확인하는 부분을 건너 뛰었습니다.
HTTP 세계에 오신 것을 환영합니다.
어떻게 브라우저가 작동하는지. 클라이언트가 서버에 요청을 보내면 서버가 응답합니다. 다른 방법으로는 (지금은) 다른 방향으로 갈 수 없습니다. 간단하고 그게 HTTP 프로토콜이 인기있는 이유 중 하나입니다.
하지만 이제 상황이 바뀌고 HTML5에서 웹 소켓을 지원합니다. HTML5 지원 장치 (모든 브라우저의 최신 버전 + iPhone/iPad 지원 소켓)를 개발하는 경우 웹 소켓을 사용해야합니다.
다른 측면에서, (XIII에서 언급 한 것처럼) 혜성 폴링을 사용할 수 있습니다. 기본적으로 클라이언트는 서버에 요청을 보내고 서버가 응답 할 때까지 기다립니다. 나는 ASP.NET에서 구현하는 좋은 방법이 무엇인지 잘 모르겠다. (동시 연결의 한계가 있다고 생각한다.)하지만 Nodejs에서는 꽤 유용한 기술이다.
우리는 wcf duplex와 같은 wcf 기법을 사용할 수 없습니다. – user321963
이중화는 보통 두 서버가 서로 협력 할 때 작동합니다. 사용자 시나리오에서는 요청에 응답 할 수없는 브라우저가 있으며 요청을하고 응답을 얻을 수만 있습니다. – neebz
jQuery는 클라이언트 측 언어이므로 클라이언트의 브라우저에서만 실행할 수 있습니다. 그러나 서버에서 호출 할 수있는 방법은 없습니다. HTML 코드에 인라인 자바 스크립트를 넣을 수 있으며 페이지가 클라이언트 측에로드 될 때 실행됩니다. –
실제로 JQuery를 기반으로 한 채팅을 수행하는 경우 폴링을 사용해야합니다. 즉, xxx 초마다 ajax 요청을 보내야하고 새 메시지가 있는지 서버에 요청해야합니다. – ITroubs
hello ITroubs ... 현재 im doin입니다 ...하지만 매 x 초마다 요청을 보내는 것이 좋습니다 ... – user321963