Hello everyone!
I'm happy to announce that Socket.IO is now compatible with Deno, which is a runtime for JavaScript and TypeScript written in Rust.
Usage:
import{ serve }from"https://deno.land/std@0.150.0/http/server.ts";
import{ Server }from"https://deno.land/x/socket_io@0.1.1/mod.ts";
const io =newServer();
io.on("connection",(socket)=>{
console.log(`socket ${socket.id} connected`);
socket.emit("hello","world");
socket.on("disconnect",(reason)=>{
console.log(`socket ${socket.id} disconnected due to ${reason}`);
});
});
awaitserve(io.handler(),{
port:3000,
});
And then run with:
$ deno run --allow-net index.ts
The API is very similar to the one exposed by the Node.js implementation.
Next steps:
- client implementation
- compatibility with the Node.js ecosystem (msgpack parser, adapters, admin UI, ...)
Feedback is welcome!
- Source code: https://github.com/socketio/socket.io-deno
- Module: https://deno.land/x/socket_io