[go] Go 언어를 사용하여 웹소켓 클라이언트를 작성하는 방법

웹소켓은 실시간 양방향 통신을 지원하는 프로토콜로, Go 언어를 사용하여 웹소켓 클라이언트를 작성하는 방법에 대해 알아보겠습니다.

필수 패키지 설치

먼저, gorilla/websocket 라이브러리를 사용하여 웹소켓 클라이언트를 작성할 것이므로 해당 패키지를 설치해야 합니다.

go get github.com/gorilla/websocket

웹소켓 클라이언트 작성하기

다음은 Go를 사용하여 웹소켓 클라이언트를 작성하는 간단한 예제입니다.

package main

import (
	"log"
	"github.com/gorilla/websocket"
)

func main() {
	// 웹소켓 서버에 연결
	conn, _, err := websocket.DefaultDialer.Dial("ws://example.com/socket", nil)
	if err != nil {
		log.Fatal("웹소켓 서버에 연결할 수 없습니다.", err)
	}
	defer conn.Close()

	// 메시지 수신
	_, message, err := conn.ReadMessage()
	if err != nil {
		log.Println("메시지를 수신할 수 없습니다.", err)
		return
	}
	log.Printf("수신된 메시지: %s", message)

	// 웹소켓 서버로 메시지 전송
	if err := conn.WriteMessage(websocket.TextMessage, []byte("안녕, 웹소켓 서버!")); err != nil {
		log.Println("메시지를 전송할 수 없습니다.", err)
		return
	}
}

위 예제에서는 gorilla/websocket 패키지를 사용하여 웹소켓 클라이언트를 초기화하고, 서버에 연결한 후 메시지를 송수신하는 방법을 보여줍니다.

이제 Go를 사용하여 웹소켓 클라이언트를 작성하는 기본적인 방법을 알아보았습니다. 좀 더 복잡한 예제나 더 많은 기능을 구현하려면 공식 문서나 다른 튜토리얼을 참고하시기 바랍니다.

참고 자료