더북(TheBook)

17. 채팅 서버 역할을 하는 ChatHub.cs 파일을 열고 다음과 같이 코드를 작성한다.

▼  /Hubs/ChatHub.cs

using Microsoft.AspNet.SignalR;
using Microsoft.AspNet.SignalR.Hubs;

namespace DevSignalR.Hubs
{
    [HubName("chat")]
  public class ChatHub : Hub
  {
      /// <summary>
      /// C -> S
      /// 클라이언트에서 서버로 간단한 메시지(msg) 전송
      /// </summary>
      /// <param name="msg"></param>
      public void ClientToServer(string msg)
      {
          // S -> Cs
          Clients.All.serverToClient(msg);
      }
  }
}

 

이 코드의 핵심은 다음과 같다. ClientToServer 메서드는 클라이언트에서 서버로 전송되는 문자열 메시지를 받는 역할이다. 클라이언트에서 호출할 때는 clientToServer와 같이 첫 글자를 소문자로 호출한다. 그리고 serverToClient 메서드를 통해서 서버에서 클라이언트에게 메시지를 전송한다. 클라이언트 측 자바스크립트 코드에서는 serverToClient 함수를 통해서 서버에서 전송된 값을 받을 수 있다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.