Etkinliklere Abone Olma
Web soketleri, belirli olayları dinleyebileceğiniz bir pub/sub arayüzü sağlar. Sık güncellemeler almak için tipik bir HTTP uç noktasına belli aralıklarla istek göndermek yerine, bu güncellemeleri yalnızca gerçekleştiği zaman alabilirsiniz.
Web soketleri, yüksek verimlilik ve gerçek zamanlı veri aktarımı sağlar.
Solana'nın web3
Connection
arka planda bir web soketi uç noktası oluşturur ve yeni bir Connection
örneği oluşturduğunuzda bir web soketi istemcisini kaydeder (kaynak kodunu
buradan görebilirsiniz).
Connection
sınıfı, olay yayımcıları gibi on
ile başlayan pub/sub yöntemlerini açığa çıkarır. Bu dinleyici yöntemlerini çağırdığınızda, o Connection
örneğinin web soketi istemcisine yeni bir abonelik kaydeder.
Bu dinleyici yöntemleri, uygulamanızın kullanıcı deneyimini geliştirir.
Aşağıda kullandığımız örnek pub/sub yöntemi
onAccountChange
şeklindedir. Geri çağırma, güncellenmiş durum verilerini argümanlar aracılığıyla sağlayacaktır (örneğin,
AccountChangeCallback
olarak görebilirsiniz).
Geri çağırma işlevini her zaman doğru şekilde tanımlamanız önemlidir; aksi takdirde beklenmedik davranışlar ortaya çıkabilir.
import { clusterApiUrl, Connection, Keypair } from "@solana/web3.js";
(async () => {
// Devnet'e yeni bağlantı kurun - devnet'e bağlı web soketi istemcisi burada da kaydedilecek
const connection = new Connection(clusterApiUrl("devnet"), "confirmed");
// Dinlemek için bir test cüzdanı oluşturun
const wallet = Keypair.generate();
// Cüzdanı dinlemek için bir geri çağırma kaydedin (ws aboneliği)
connection.onAccountChange(
wallet.publicKey,
(updatedAccountInfo, context) =>
console.log("Güncellenmiş hesap bilgileri: ", updatedAccountInfo),
"confirmed",
);
})();
Bu örnek, cüzdanınızı izlemek ve güncellemeleri almak için basit bir yaklaşımdır.
Ek Bilgi
Web soketleri, performans açısından daha verimli bir yöntem sunar ve veri aktarımını hızlandırır. Bu özellik, özellikle yoğun etkileşimlere sahip uygulamalar için büyük bir avantaj sağlar.