Skip to content

CCHECKED/go-socketio-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Socket.IO Go Client Library

Go Socket.IO License

Socket.IO клиентская библиотека для Go с поддержкой TLS и простым API для управления подключениями.

🚀 Возможности

  • Поддержка Socket.IO 4.x
  • TLS-шифрование подключений
  • Поддержка нескольких неймспейсов
  • Обработчики сообщений и сервисных событий
  • Гибкая конфигурация
  • Легкость в использовании

📦 Установка

go get github.com/CCHECKED/go-socketio-client

🔧 Использование

manager := socketio.NewSocketManager(
	&url.URL{
        Scheme: "https",
        Host:   "localhost:3000",
        Path:   "/devices/",
    },
    &socketio.SocketManagerConfig{
        AllowUpgrade: false,
        Tls:          &tls.Config{},
        Headers:      &http.Header{},
        Debug:        false,
    },
)

// Подключение к namespace "/"
client := manager.DefaultSocket("/")
// Подключение к namespace "/chat"
clientChat := manager.DefaultSocket("/chat")

client.On("message", func(data interface{}) {
    fmt.Println("Recieved message:", data)
})

client.OnService(consts.PING, func() {
    fmt.Println("Recieved Ping")
})

clientChat.On("message", func(data interface{}) {
    fmt.Println("Recieved chat message:", data)
})

⚙ Конфигурация

При создании SocketManager можно передать объект конфигурации SocketManagerConfig:

Поле Тип Описание
AllowUpgrade bool Разрешить обновление соединения
Tls *tls.Config Конфигурация TLS
Headers *http.Header Заголовки запроса
Debug bool Включить режим отладки
ReconnectWait time.Duration Время между попытками переподключения

🛠 Подключение обработчиков событий

client.On("event_name", func(data interface{}) {
	fmt.Println("Получено событие:", data)
})

Для сервисных событий:

client.OnService(consts.PING, func() {
	fmt.Println("Получен PING")
})

About

Socket.IO Go Client Library

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages