test.nim
1 import news, asyncdispatch, asynchttpserver 2 3 var server = newAsyncHttpServer() 4 proc cb(req: Request) {.async.} = 5 echo "cb ", req 6 if req.url.path == "/ws": 7 var ws = await newWebsocket(req) 8 await ws.send("Welcome to simple echo server") 9 while ws.readyState == Open: 10 let packet = await ws.receivePacket() 11 await ws.send(packet) 12 await req.respond(Http200, "Hello World") 13 14 asyncCheck server.serve(Port(9001), cb) 15 16 proc sendMsg() {.async.} = 17 var ws = await newWebSocket("ws://localhost:9001/ws") 18 await ws.send("hi") 19 while ws.readyState == Open: 20 let str = await ws.receiveString() 21 echo "received ", str 22 23 asyncCheck sendMsg() 24 runForever()