Web Sockets
Use send.WsUpgrade() to upgrade the connection to web sockets.
routes.Route{Pattern: "GET /ws", Handler: welcome.View}
package welcome

import (
    "main/lib/core/clients"
    "main/lib/core/receive"
    "main/lib/core/send"
    "time"
)

func View(client *clients.Client) {
    alive := receive.IsAlive(client)          // Tracks request status.
    send.WsUpgrade(client)                    // Sends ws upgrade.
    for *alive {                              // Loops until cancellation.
        name := receive.Message(client)       // Receives message.
        send.Message(client, "Hello " + name) // Sends message.
        time.Sleep(time.Second)               // Sleeps for 1 second.
    }
}
Then consume the web socket on the client.
<script lang="ts">
    const messages: string[] = $state([]) // Creates reactive list of messages.
    const socket = new WebSocket("/ws")   // Connects to handler.
    socket.addEventListener("message", function listen(event:MessageEvent) {
        messages.push(event.data)         // Appends incoming messages to the 
                                          // reactive list of messages for later use.
    })
    socket.send("Hello")                  // Sends message.
</script>

<Title text="Messages"/>
{#each messages as message, id (id)}      <!-- Iterates the list of messages. -->
    <div>{message}</div>                  <!-- Renders message. -->
{/each}