31 lines
878 B
TypeScript
31 lines
878 B
TypeScript
// 创建 HTTP 服务器
|
|
const server = Deno.serve({ port: 8080 }, (req) => {
|
|
if (req.headers.get('upgrade') === 'websocket') {
|
|
const { socket, response } = Deno.upgradeWebSocket(req);
|
|
socket.addEventListener('open', () => {
|
|
console.log('a client connected!');
|
|
});
|
|
socket.addEventListener('message', (event) => {
|
|
if (event.data === 'ping') {
|
|
socket.send('pong');
|
|
}
|
|
});
|
|
return response;
|
|
}
|
|
return new Response('HTTP server running', {
|
|
status: 200,
|
|
});
|
|
});
|
|
|
|
// 注释掉有问题的代码,使用上面的 Deno.serve API
|
|
// const server2 = Deno.listen({ port: 8080 });
|
|
//
|
|
// for await (const conn of server2) {
|
|
// const httpConn = Deno.serveHttp(conn);
|
|
// for await (const requestEvent of httpConn) {
|
|
// console.log(requestEvent);
|
|
// }
|
|
// }
|
|
|
|
console.log('WebSocket server running on http://localhost:8080');
|