import { type WebSocketDefinition, type WaspSocketData } from 'wasp/server/webSocket'
export const webSocketFn: WebSocketFn = (io, context) => {
io.on('connection', (socket) => {
console.log('A user connected')
// Simulate streaming data
let counter = 0
const streamInterval = setInterval(() => {
socket.emit('streamData', { count: counter++ })
}, 1000)
socket.on('disconnect', () => {
console.log('User disconnected')
clearInterval(streamInterval)
})
})
}
type WebSocketFn = WebSocketDefinition<
ClientToServerEvents,
ServerToClientEvents,
InterServerEvents,
SocketData
>
interface ServerToClientEvents {
streamData: (data: { count: number }) => void;
}
interface ClientToServerEvents {}
interface InterServerEvents {}
interface SocketData extends WaspSocketData {}
import { type WebSocketDefinition, type WaspSocketData } from 'wasp/server/webSocket'
export const webSocketFn: WebSocketFn = (io, context) => {
io.on('connection', (socket) => {
console.log('A user connected')
// Simulate streaming data
let counter = 0
const streamInterval = setInterval(() => {
socket.emit('streamData', { count: counter++ })
}, 1000)
socket.on('disconnect', () => {
console.log('User disconnected')
clearInterval(streamInterval)
})
})
}
type WebSocketFn = WebSocketDefinition<
ClientToServerEvents,
ServerToClientEvents,
InterServerEvents,
SocketData
>
interface ServerToClientEvents {
streamData: (data: { count: number }) => void;
}
interface ClientToServerEvents {}
interface InterServerEvents {}
interface SocketData extends WaspSocketData {}