클라이언트 타입 정의
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 필드는 웹소켓을 통해 클라이언트에 전달할 메시지를 수신하는 채널이다. user와 roomId 필드는 접속한 클라이언트의 사용자 정보와 사용자가 접속한 채팅방 아이디를 보관한다.