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'nin desteği sonlandırıldı ve sockets.udp, sockets.tcp ve sockets.tcpServer API'leri kullanılmaya başlandı.

İ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

  • aktarma

    ArrayBuffer

  • resultCode

    sayı

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

RecvFromInfo

Özellikler

  • adres

    dize

    Uzak makinenin adresi.

  • aktarma

    ArrayBuffer

  • bağlantı noktası

    sayı

  • resultCode

    sayı

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

SecureOptions

Özellikler

SocketInfo

Özellikler

  • bağlandı

    boolean

    Temel soketin bağlı olup olmadığı.

    tcp soketleri için bu durum, uzak eşin bağlantısı kesilmiş olsa bile geçerli olmaya devam eder. Ardından, sokete okuma veya yazma işlemi yapıldığında hata oluşabilir. Bu da soketin disconnect() üzerinden bağlantısının kesilmesi gerektiğini gösterir.

    udp yuvaları için bu yalnızca paket okuma ve yazma işlemleri için varsayılan bir uzak adresin belirtilip belirtilmediğini gösterir.

  • localAddress

    dize isteğe bağlı

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

  • localPort

    number isteğe bağlı

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

  • peerAddress

    dize 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 olacaktır.

SocketType

Enum

"tcp"

"udp"

TLSVersionConstraints

Özellikler

  • maks.

    dize isteğe bağlı

  • dk

    dize 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 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 sunucusu soketinde bir bağlantı kabul edildiğinde çağrılacak bir geri çağırma işlevini kaydeder. Önce listen() çağrılmalıdır. Halihazırda etkin bir kabul geri araması varsa bu geri arama, resultCode olarak hata ile 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

Soketin yerel adresini bağlar. Şu anda TCP soketi desteklenmemektedir.

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()

Promise
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

    işlev 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

    Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.

destroy()

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

Soketi yok eder. Oluşturulan her soket, kullanımdan sonra yok edilmelidir.

Parametreler

  • socketId

    sayı

    socketId.

disconnect()

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

Soketin bağlantısını keser. UDP soketleri için disconnect işlem yapılmaz ancak çağrılması güvenlidir.

Parametreler

  • socketId

    sayı

    socketId.

getInfo()

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

Belirtilen soketin durumunu alır.

Parametreler

  • socketId

    sayı

    socketId.

  • callback

    işlev 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

    Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.

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

      dize[]

getNetworkList()

Promise
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

    Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.

joinGroup()

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

Çoklu yayın grubuna katılın ve bu gruptan paket almaya başlayın. 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 grup 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 kullanılarak katılan çoklu yayın grubundan ayrılın. Soketi yok etmeden veya çıkmadan önce çoklu yayın grubundan ayrılmanız gerekmez. Bu işlev, işletim sistemi tarafından otomatik olarak çağrılır.

Gruptan ayrılmak, ana makinede başka bir işlem hala gruba bağlı değilse yönlendiricinin yerel ana makineye çoklu yayın datagramları göndermesini engeller.

Parametreler

  • socketId

    sayı

    socketId.

  • adres

    dize

    Ayrılmak istediğiniz grup 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 soketi haline getirir ve istemci soketi 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ı.

  • backlog

    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 verileri okur.

Parametreler

  • socketId

    sayı

    socketId.

  • bufferSize

    number isteğe bağlı

    Okuma arabellek 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ı

    Alım arabellek 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 soketi üzerinden TLS istemci bağlantısı başlatın.

Parametreler

  • socketId

    sayı

    Kullanılacak bağlı yuva.

  • seçenekler

    SecureOptions isteğe bağlı

    TLS bağlantısıyla ilgili 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.

  • aktarma

    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

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

Parametreler

  • socketId

    sayı

    socketId.

  • enable

    boolean

    Doğruysa keep-alive işlevini etkinleştirin.

  • gecikme

    number isteğe bağlı

    Alınan son veri paketi ile ilk canlı tutma araştırması 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ç

      boolean

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 davranışının Windows ve Unix benzeri sistemler arasında biraz farklılık gösterdiğini unutmayın. Tutarsızlık yalnızca aynı ana makinede birden fazla uygulama aynı çoklu yayın grubuna katılırken çoklu yayın geri döngü modunda farklı ayarlara sahip olduğunda meydana gelir. Windows'da geri döngüsü devre dışı olan uygulamalar geri döngü paketlerini ALMAZ. Unix benzeri sistemlerde ise geri döngüsü devre dışı olan uygulamalar geri döngü paketlerini aynı ana makinedeki diğer uygulamalara GÖNDERMEZ. MSDN: https://learn.microsoft.com/en-us/windows/win32/winsock/ip-multicast-2

Bu yöntemin çağrılması için çoklu yayın izinleri gerekmez.

Parametreler

  • socketId

    sayı

    socketId.

  • etkin

    boolean

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

  • 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 TTL'sini ayarlayın.

Bu yöntemin çağrılması için çoklu yayın izinleri gerekmez.

Parametreler

  • socketId

    sayı

    socketId.

  • ttl

    sayı

    Geçerlilik süresi 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 ayarlarını belirler veya temizler. TCP_NODELAY ayarlandığında Nagle algoritması devre dışı bırakılır.

Parametreler

  • socketId

    sayı

    socketId.

  • noDelay

    boolean

    Doğruysa Nagle algoritmasını devre dışı bırakır.

  • callback

    işlev

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

    (result: boolean) => void

    • sonuç

      boolean

write()

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

Belirtilen bağlı sokete veri yazar.

Parametreler

  • socketId

    sayı

    socketId.

  • aktarma

    ArrayBuffer

    Yazılacak veriler.

  • callback

    işlev

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

    (writeInfo: WriteInfo) => void