Ana içeriğe geç

TCP soketleri ve TLS

Deno Deploy, outbound TCP ve TLS bağlantılarını destekler. Bu API'ler, Deploy ile PostgreSQL, SQLite, MongoDB gibi veritabanlarını kullanmanıza olanak tanır.

Deno.connect

Outbound TCP bağlantıları oluşturur.

bilgi

Fonksiyon tanımı, transport seçeneğinin yalnızca tcp olabileceği ve hostname değerinin localhost veya boş olamayacağı kısıtlaması ile birlikte, Deno ile aynıdır.

function Deno.connect(options: ConnectOptions): Promise<Conn>

Örnek

async function handler(_req) {
// example.com adresine TCP bağlantısı oluşturun.
const connection = await Deno.connect({
port: 80,
hostname: "example.com",
});

// Ham HTTP GET isteğini gönderin.
const request = new TextEncoder().encode(
"GET / HTTP/1.1\nHost: example.com\r\n\r\n",
);
const _bytesWritten = await connection.write(request);

// Bağlantıdan 15 bayt okuyun.
const buffer = new Uint8Array(15);
await connection.read(buffer);
connection.close();

// Baytları düz metin olarak döndürün.
return new Response(buffer, {
headers: {
"content-type": "text/plain;charset=utf-8",
},
});
}

Deno.serve(handler);

Deno.connectTls

Outbound TLS bağlantıları oluşturur.

bilgi

Fonksiyon tanımı, hostname değerinin localhost veya boş olamayacağı kısıtlaması ile birlikte, Deno ile aynıdır.

function Deno.connectTls(options: ConnectTlsOptions): Promise<Conn>

Örnek

async function handler(_req) {
// example.com adresine TLS bağlantısı oluşturun.
const connection = await Deno.connectTls({
port: 443,
hostname: "example.com",
});

// Ham HTTP GET isteğini gönderin.
const request = new TextEncoder().encode(
"GET / HTTP/1.1\nHost: example.com\r\n\r\n",
);
const _bytesWritten = await connection.write(request);

// Bağlantıdan 15 bayt okuyun.
const buffer = new Uint8Array(15);
await connection.read(buffer);
connection.close();

// Baytları düz metin olarak döndürün.
return new Response(buffer, {
headers: {
"content-type": "text/plain;charset=utf-8",
},
});
}

Deno.serve(handler);