더북(TheBook)

클라이언트 타입 정의

client.go 파일을 생성하여 클라이언트 타입을 정의해 보자.

▼ client.go

package main
 
import (
    "github.com/gorilla/websocket"
)
 
// 현재 접속 중인 전체 클라이언트 리스트
var clients []*Client
 
type Client struct {
    conn *websocket.Conn // 웹소켓 커넥션
    send chan *Message   // 메시지 전송용 채널
     
    roomId string // 현재 접속한 채팅방 아이디
    user   *User  // 현재 접속한 사용자 정보
}

conn 필드는 클라이언트와 데이터를 주고받는 웹소켓 커넥션을 가리킨다. send 필드는 웹소켓을 통해 클라이언트에 전달할 메시지를 수신하는 채널이다. userroomId 필드는 접속한 클라이언트의 사용자 정보와 사용자가 접속한 채팅방 아이디를 보관한다.

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