chrome.socket

Açıklama

TCP ve UDP bağlantılarını kullanarak ağ üzerinden veri göndermek ve almak için chrome.socket API'yi kullanın. Not: Chrome 33'ten itibaren bu API, sockets.udp, sockets.tcp ve sockets.tcpServer API'leri lehine kullanımdan kaldırılmıştır.

İzinler

socket

Türler

AcceptInfo

Özellikler

  • resultCode

    sayı

  • socketId

    number isteğe bağlı

    Kabul edilen soketin kimliği.

CreateInfo

Özellikler

  • socketId

    sayı

    Yeni oluşturulan soketin kimliği.

CreateOptions

NetworkInterface

Özellikler

  • adres

    dize

    Kullanılabilir IPv4/6 adresi.

  • ad

    dize

    Adaptörün temel adı. *nix'te bu genellikle "eth0", "lo" vb. olur.

  • prefixLength

    sayı

    Önek uzunluğu

ReadInfo

Özellikler

  • veri

    ArrayBuffer

  • resultCode

    sayı

    Temel read() çağrısından döndürülen resultCode.

RecvFromInfo

Özellikler

  • adres

    dize

    Uzak makinenin adresi.

  • veri

    ArrayBuffer

  • bağlantı noktası

    sayı

  • resultCode

    sayı

    Temel recvfrom() çağrısından döndürülen resultCode.

SecureOptions

Özellikler

SocketInfo

Özellikler

  • bağlandı

    boole

    Temel soketin bağlı olup olmadığı

    tcp soketleri için, uzak eşin bağlantısı kesilse bile bu değer doğru olarak kalır. Sokete okuma veya yazma işlemi hatayla sonuçlanabilir. Bu durumda, soketin disconnect() üzerinden bağlantısının kesilmesi gerektiği belirtilir.

    udp soketleri için bu, yalnızca paketleri okumak ve yazmak için varsayılan bir uzak adresin belirtilip belirtilmediğini gösterir.

  • localAddress

    string isteğe bağlı

    Temel soket bağlıysa veya bağlantı kurulmuşsa yerel IPv4/6 adresini içerir.

  • localPort

    number isteğe bağlı

    Temel soket bağlıysa veya bağlantı kurulmuşsa yerel bağlantı noktasını içerir.

  • peerAddress

    string isteğe bağlı

    Temel soket bağlıysa eşin IPv4/6 adresini içerir.

  • peerPort

    number isteğe bağlı

    Temel soket bağlıysa bağlı eşin bağlantı noktasını içerir.

  • socketType

    Geçirilen soketin türü. Bu değer tcp veya udp olur.

SocketType

Enum

"tcp"

"udp"

TLSVersionConstraints

Özellikler

  • maks.

    string isteğe bağlı

  • dk

    string isteğe bağlı

    Kabul edilebilir minimum ve maksimum TLS sürümleri. tls1.2 veya tls1.3 değerleri desteklenir.

    tls1 ve tls1.1 değerleri artık desteklenmiyor. min bu değerlerden birine ayarlanırsa sessizce tls1.2 değerine sabitlenir. max bu değerlerden birine veya tanınmayan başka bir değere ayarlanırsa sessizce yoksayılır.

WriteInfo

Özellikler

  • bytesWritten

    sayı

    Gönderilen bayt sayısı veya negatif bir hata kodu.

Yöntemler

accept()

chrome.socket.accept(
  socketId: number,
  callback: function,
)
: void

Bu yöntem yalnızca TCP soketleri için geçerlidir. Bu dinleme sunucu yuvasında bir bağlantı kabul edildiğinde çağrılacak bir geri çağırma işlevi kaydeder. Önce dinleme çağrılmalıdır. Etkin bir kabul geri çağırma işlevi varsa bu geri çağırma işlevi, resultCode olarak bir hatayla hemen çağrılır.

Parametreler

  • socketId

    sayı

    socketId.

  • callback

    işlev

    callback parametresi şu şekilde görünür:

    (acceptInfo: AcceptInfo) => void

bind()

chrome.socket.bind(
  socketId: number,
  address: string,
  port: number,
  callback: function,
)
: void

Soket için yerel adresi bağlar. Şu anda TCP soketini desteklemiyor.

Parametreler

  • socketId

    sayı

    socketId.

  • adres

    dize

    Yerel makinenin adresi.

  • bağlantı noktası

    sayı

    Yerel makinenin bağlantı noktası.

  • callback

    işlev

    callback parametresi şu şekilde görünür:

    (result: number) => void

    • sonuç

      sayı

connect()

chrome.socket.connect(
  socketId: number,
  hostname: string,
  port: number,
  callback: function,
)
: void

Soketi uzak makineye bağlar (tcp soketi için). udp soketi için bu, read() ve write() çağrıları için paketlerin gönderildiği ve okunduğu varsayılan adresi ayarlar.

Parametreler

  • socketId

    sayı

    socketId.

  • ana makine adı

    dize

    Uzak makinenin ana makine adı veya IP adresi.

  • bağlantı noktası

    sayı

    Uzak makinenin bağlantı noktası.

  • callback

    işlev

    callback parametresi şu şekilde görünür:

    (result: number) => void

    • sonuç

      sayı

create()

Taahhüt
chrome.socket.create(
  type: SocketType,
  options?: CreateOptions,
  callback?: function,
)
: Promise<CreateInfo>

Belirtilen uzak makineye bağlanacak, belirtilen türde bir soket oluşturur.

Parametreler

  • tür

    Oluşturulacak soketin türü. tcp veya udp olmalıdır.

  • seçenekler

    CreateOptions isteğe bağlı

    Soket seçenekleri.

  • callback

    function isteğe bağlı

    callback parametresi şu şekilde görünür:

    (createInfo: CreateInfo) => void

İadeler

  • Promise<CreateInfo>

    Chrome 121 ve sonraki sürümler

    Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.

destroy()

chrome.socket.destroy(
  socketId: number,
)
: void

Soketi yok eder. Oluşturulan her soket kullanıldıktan sonra silinmelidir.

Parametreler

  • socketId

    sayı

    socketId.

disconnect()

chrome.socket.disconnect(
  socketId: number,
)
: void

Soket bağlantısını keser. UDP soketleri için disconnect bir işlem değildir ancak çağrılması güvenlidir.

Parametreler

  • socketId

    sayı

    socketId.

getInfo()

Taahhüt
chrome.socket.getInfo(
  socketId: number,
  callback?: function,
)
: Promise<SocketInfo>

Belirtilen soketin durumunu alır.

Parametreler

  • socketId

    sayı

    socketId.

  • callback

    function isteğe bağlı

    callback parametresi şu şekilde görünür:

    (result: SocketInfo) => void

İadeler

  • Promise<SocketInfo>

    Chrome 121 ve sonraki sürümler

    Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.

getJoinedGroups()

chrome.socket.getJoinedGroups(
  socketId: number,
  callback: function,
)
: void

Soketin şu anda katıldığı çoklu yayın grubu adreslerini alır.

Parametreler

  • socketId

    sayı

    socketId.

  • callback

    işlev

    callback parametresi şu şekilde görünür:

    (groups: string[]) => void

    • groups

      string[]

getNetworkList()

Taahhüt
chrome.socket.getNetworkList(
  callback?: function,
)
: Promise<NetworkInterface[]>

Bu sistemdeki yerel bağdaştırıcılar hakkında bilgi alır.

Parametreler

İadeler

  • Promise<NetworkInterface[]>

    Chrome 121 ve sonraki sürümler

    Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.

joinGroup()

chrome.socket.joinGroup(
  socketId: number,
  address: string,
  callback: function,
)
: void

Çoklu yayın grubuna katılma ve bu gruptan paket almaya başlama Soket, UDP türünde olmalı ve bu yöntem çağrılmadan önce yerel bir bağlantı noktasına bağlanmalıdır.

Parametreler

  • socketId

    sayı

    socketId.

  • adres

    dize

    Katılmak istediğiniz grubun adresi. Alan adları desteklenmez.

  • callback

    işlev

    callback parametresi şu şekilde görünür:

    (result: number) => void

    • sonuç

      sayı

leaveGroup()

chrome.socket.leaveGroup(
  socketId: number,
  address: string,
  callback: function,
)
: void

Daha önce joinGroup kullanarak katıldığınız çoklu yayın grubundan ayrılın. Soketi yok etmeden veya çıkış yapmadan önce çoklu yayın grubundan ayrılmanız gerekmez. Bu, işletim sistemi tarafından otomatik olarak çağrılır.

Gruptan ayrıldığınızda, ana makinedeki başka hiçbir işlemin gruba katılmadığı varsayılarak yönlendiricinin yerel ana makineye çoklu yayın veri birimleri göndermesi engellenir.

Parametreler

  • socketId

    sayı

    socketId.

  • adres

    dize

    Ayrılmak istediğiniz grubun adresi. Alan adları desteklenmez.

  • callback

    işlev

    callback parametresi şu şekilde görünür:

    (result: number) => void

    • sonuç

      sayı

listen()

chrome.socket.listen(
  socketId: number,
  address: string,
  port: number,
  backlog?: number,
  callback: function,
)
: void

Bu yöntem yalnızca TCP soketleri için geçerlidir. Belirtilen bağlantı noktası ve adresteki bağlantıları dinler. Bu işlem, soketi etkili bir şekilde sunucu yuvası haline getirir ve istemci yuvası işlevleri (bağlanma, okuma, yazma) artık bu sokette kullanılamaz.

Parametreler

  • socketId

    sayı

    socketId.

  • adres

    dize

    Yerel makinenin adresi.

  • bağlantı noktası

    sayı

    Yerel makinenin bağlantı noktası.

  • birikmiş işler

    number isteğe bağlı

    Soketin dinleme sırasının uzunluğu.

  • callback

    işlev

    callback parametresi şu şekilde görünür:

    (result: number) => void

    • sonuç

      sayı

read()

chrome.socket.read(
  socketId: number,
  bufferSize?: number,
  callback: function,
)
: void

Belirtilen bağlı soketten veri okur.

Parametreler

  • socketId

    sayı

    socketId.

  • bufferSize

    number isteğe bağlı

    Okuma arabelleği boyutu.

  • callback

    işlev

    callback parametresi şu şekilde görünür:

    (readInfo: ReadInfo) => void

recvFrom()

chrome.socket.recvFrom(
  socketId: number,
  bufferSize?: number,
  callback: function,
)
: void

Belirtilen UDP soketinden veri alır.

Parametreler

  • socketId

    sayı

    socketId.

  • bufferSize

    number isteğe bağlı

    Alma arabelleği boyutu.

  • callback

    işlev

    callback parametresi şu şekilde görünür:

    (recvFromInfo: RecvFromInfo) => void

secure()

chrome.socket.secure(
  socketId: number,
  options?: SecureOptions,
  callback: function,
)
: void

Bağlı bir TCP istemci yuvası üzerinden TLS istemci bağlantısı başlatır.

Parametreler

  • socketId

    sayı

    Kullanılacak bağlı soket.

  • seçenekler

    SecureOptions isteğe bağlı

    TLS bağlantısı için kısıtlamalar ve parametreler.

  • callback

    işlev

    callback parametresi şu şekilde görünür:

    (result: number) => void

    • sonuç

      sayı

sendTo()

chrome.socket.sendTo(
  socketId: number,
  data: ArrayBuffer,
  address: string,
  port: number,
  callback: function,
)
: void

Belirtilen UDP soketindeki verileri belirtilen adrese ve bağlantı noktasına gönderir.

Parametreler

  • socketId

    sayı

    socketId.

  • veri

    ArrayBuffer

    Yazılacak veriler.

  • adres

    dize

    Uzak makinenin adresi.

  • bağlantı noktası

    sayı

    Uzak makinenin bağlantı noktası.

  • callback

    işlev

    callback parametresi şu şekilde görünür:

    (writeInfo: WriteInfo) => void

setKeepAlive()

chrome.socket.setKeepAlive(
  socketId: number,
  enable: boolean,
  delay?: number,
  callback: function,
)
: void

TCP bağlantısı için canlı tutma işlevini etkinleştirir veya devre dışı bırakır.

Parametreler

  • socketId

    sayı

    socketId.

  • enable

    boole

    Doğru ise bağlantıyı canlı tutma işlevini etkinleştirir.

  • gecikme

    number isteğe bağlı

    Alınan son veri paketi ile ilk bağlantıyı canlı tutma sorgusu arasındaki gecikme süresini saniye cinsinden ayarlayın. Varsayılan değer 0'dır.

  • callback

    işlev

    callback parametresi şu şekilde görünür:

    (result: boolean) => void

    • sonuç

      boole

setMulticastLoopbackMode()

chrome.socket.setMulticastLoopbackMode(
  socketId: number,
  enabled: boolean,
  callback: function,
)
: void

Ana makineden çoklu yayın grubuna gönderilen çoklu yayın paketlerinin ana makineye geri gönderilip gönderilmeyeceğini ayarlayın.

Not: setMulticastLoopbackMode, Windows ve Unix benzeri sistemlerde biraz farklı çalışır. Tutarsızlık yalnızca aynı ana makinede aynı çoklu yayın grubuna katılmış birden fazla uygulama olduğunda ve çoklu yayın geri döngü modunda farklı ayarlar bulunduğunda ortaya çıkar. Windows'da, geri döngü kapalı olan uygulamalar geri döngü paketlerini ALMAZ. Unix benzeri sistemlerde ise geri döngü kapalı olan uygulamalar, geri döngü paketlerini aynı ana makinedeki diğer uygulamalara GÖNDERMEZ. MSDN'ye bakın: https://learn.microsoft.com/en-us/windows/win32/winsock/ip-multicast-2

Bu yöntemi çağırmak için çoklu yayın izinleri gerekmez.

Parametreler

  • socketId

    sayı

    socketId.

  • etkin

    boole

    Geri döngü modunun etkinleştirilip etkinleştirilmeyeceğini belirtir.

  • callback

    işlev

    callback parametresi şu şekilde görünür:

    (result: number) => void

    • sonuç

      sayı

setMulticastTimeToLive()

chrome.socket.setMulticastTimeToLive(
  socketId: number,
  ttl: number,
  callback: function,
)
: void

Çok noktaya yayın grubuna gönderilen çok noktaya yayın paketlerinin geçerlilik süresini ayarlayın.

Bu yöntemi çağırmak için çoklu yayın izinleri gerekmez.

Parametreler

  • socketId

    sayı

    socketId.

  • ttl

    sayı

    Geçerlilik değeri.

  • callback

    işlev

    callback parametresi şu şekilde görünür:

    (result: number) => void

    • sonuç

      sayı

setNoDelay()

chrome.socket.setNoDelay(
  socketId: number,
  noDelay: boolean,
  callback: function,
)
: void

TCP bağlantısı için TCP_NODELAY değerini ayarlar veya temizler. TCP_NODELAY ayarlandığında Nagle algoritması devre dışı bırakılır.

Parametreler

  • socketId

    sayı

    socketId.

  • noDelay

    boole

    Doğru değerine ayarlanırsa Nagle algoritmasını devre dışı bırakır.

  • callback

    işlev

    callback parametresi şu şekilde görünür:

    (result: boolean) => void

    • sonuç

      boole

write()

chrome.socket.write(
  socketId: number,
  data: ArrayBuffer,
  callback: function,
)
: void

Belirtilen bağlı sokete veri yazar.

Parametreler

  • socketId

    sayı

    socketId.

  • veri

    ArrayBuffer

    Yazılacak veriler.

  • callback

    işlev

    callback parametresi şu şekilde görünür:

    (writeInfo: WriteInfo) => void