Как можно получить ip адрес формы сокета io в Голанге
Я использую этот код, но не могу получить IP-адрес. Как я могу получить IP-адрес пользователя / порт? Я могу получить идентификатор сокета с помощью Id(). Ниже код работает хорошо, но я не могу найти, как можно использовать больше опций и функций для такой переменной.
package main
import (
"log"
"net/http"
"github.com/googollee/go-socket.io"
)
func main() {
server, err := socketio.NewServer(nil)
if err != nil {
log.Fatal(err)
}
log.Println("server", server)
server.On("connection", func(so socketio.Socket) {
log.Println("so------->> " ,so )
log.Println("id------->> " , so.Id() )
log.Println("on connection")
so.On("chat message", func(msg string) {
log.Println("emit:", so.Emit("chat message", msg))
so.BroadcastTo("chat", "chat message", msg)
})
so.On("disconnection", func() {
log.Println("on disconnect")
})
})
server.On("error", func(so socketio.Socket, err error) {
log.Println("error:", err)
})
http.Handle("/socket.io/", server)
log.Println("Serving at localhost:5555...")
log.Fatal(http.ListenAndServe(":5555", nil))
}
1 ответ
Решение
Используйте это выражение, чтобы получить удаленный адрес: so.Request().RemoteAddr