저는 오랫동안 Signalr의 마법과 실용성에 대해 알고 있었지만 직접 사용해 본 적이 없습니다. 기사에만 머물면서 몇 가지 간단한 소개 텍스트를 읽어보니 매우 간단하고 사용하기 쉽다고 느꼈습니다. .
드디어 사용해야 할 프로젝트가 생겼기 때문에 작은 프로그램을 작성하여 테스트하고 실제 지식을 얻기 위해 연습하기로 결정했습니다. 다른 사람들이 작성한 기사는 여전히 환경이 다르기 때문에 다소 차이가 있습니다. (버전 등) 내부 및 외부.
환경: vs2013 / asp.net mvc 5 / signalr 2.2.1 / jquery 1.10.2
처음 두 렌더링:
시스템은 채팅방에 참여하는 사람에게 자동으로 ID를 할당합니다. 이는 해당 사람의 고유 식별자입니다(녹색은 현재 사용자가 말한 것, 주황색은 현재 사용자가 아닌 사람이 말한 것입니다). 사용자가 말했습니다. 현재 사용자 지침의 주제는 창마다 다릅니다. )
다음은 개발 단계에 대한 대략적인 설명입니다.
1.
설치에는 nuget을 사용하는 것이 좋습니다. 이렇게 하면 온라인에서 전체 수동 구성도 가능합니다.
2.startup.cs 파일 수정
처음에 이 단계를 놓치고 발견했습니다. 항상 생성되었습니다 /signalr/hubs를 찾을 수 없습니다. 브라우저는 /signalr/hubs 400을 찾을 수 없다는 메시지를 표시합니다
3. 허브 생성
nuget이 signalr를 설치하면 해당 신호 범주가 있습니다
ChatHub로 이름을 지정하거나 일반 클래스를 만들고 Microsoft.AspNet.SignalR.Hub를 상속할 수 있습니다.
Send 메소드 작성(빨간색 상자 안의 두 메소드 이름에 주의하세요)
4. 🎜>를 참조해야 합니다. 세 가지 주요 스크립트:
signalr은 jquery에 의존하므로 이 세 스크립트는 그림과 같이 엄격한 순서로 인용되며 순서는 다음과 같습니다. 교환할 수 없습니다.
다음은 페이지 내용입니다(빨간색 상자 안의 여러 위치에 주의하세요).
chatHub: 생성된 ChatHub 클래스입니다. in /signalr /hubs 아래의 이름 (클래스 이름의 첫 글자는 기본적으로 소문자입니다.)
사용자가 직접 정의할 수도 있습니다
이렇게 허브 이름이 ChatHub로 설정됩니다(첫 글자가 원래 소문자였지만 지금은 대문자로 변경됨)
chat.client.receiveMessage : 여기서 receiveMessage는 ChatHub 클래스의 Send 메소드 아래 Clients.All.receiveMessage에 대한 정의입니다. 일부 문서에서는 여기에 쓰는 것이 chat.receiveMessage이지만 /signalr/hubs 스크립트를 확인한 후에는 효과가 없습니다. 클라이언트의 정의를 보았습니다. 이는 서로 다른 버전의 시그널러로 인해 발생할 수 있으므로 모두가 이를 사용할 때 주의해야 합니다.
chat.server.send: 여기서 보내는 것은 ChatHub 클래스에 정의된 Send 메서드입니다. 이전 버전의 Signalr에서는 사용 방법이 chat.send일 수도 있습니다.
5. 끝
이쯤 되면 간단한 개발 과정은 끝납니다. 창을 2개 이상 열어서 메시지도 보내고 채팅도 해보세요
스타일은 순전히 랜덤이고, 글도 불규칙하고 지저분해서 시청자분들께 방해가 될까봐 자세히 올리지는 않겠습니다.
위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되기를 바랍니다.
asp.net mvc 시그널러 단순채팅방 제작과정 분석 관련 기사를 더 보시려면 PHP 중국어 홈페이지를 주목해주세요!