Skip to content

net

You can use node:net to create a direct connection to servers via a TCP sockets with net.Socket.

This makes it possible to connect to databases such as MySQL, PostgreSQL, Redis, or MongoDB. Though for production use, we recommend that you connect using TLS, which can be done with the cloudflare:sockets module, or prefereably by using Hyperdrive, which includes connection pooling and query caching.

These functions use connect functionality from the built-in cloudflare:sockets module.

index.js
import net from "node:net";
const exampleIP = "127.0.0.1";
export default {
async fetch(req) {
const socket = new net.Socket();
socket.connect(4000, exampleIP, function () {
console.log("Connected");
});
socket.write("Hello, Server!");
socket.end();
return new Response("Wrote to server", { status: 200 });
},
};

Additionally, other APIs such as net.BlockList and net.SocketAddress are available.

Note that the net.Server class is not supported by Workers.

The full node:net API is documented in the Node.js documentation for node:net.