WebSocket
The Integration Problem
Components
Creating WebSocket Server
type WebService struct {
act.Actor
}
func (w *WebService) Init(args ...any) error {
// Create WebSocket handler
wsHandler := websocket.CreateHandler(websocket.HandlerOptions{
ProcessPool: []gen.Atom{"ws-handler"},
HandshakeTimeout: 15 * time.Second,
EnableCompression: true,
CheckOrigin: func(r *http.Request) bool { return true },
})
// Spawn handler meta-process
_, err := w.SpawnMeta(wsHandler, gen.MetaOptions{})
if err != nil {
return err
}
// Register with HTTP mux
mux := http.NewServeMux()
mux.Handle("/ws", wsHandler)
// Create web server
server, err := meta.CreateWebServer(meta.WebServerOptions{
Host: "localhost",
Port: 8080,
Handler: mux,
})
if err != nil {
return err
}
_, err = w.SpawnMeta(server, gen.MetaOptions{})
return err
}Connection Lifecycle
Messages
Network Transparency
Client Connections
Process Pool Distribution
Last updated
Was this helpful?