chrome.sockets.udp

Açıklama

UDP bağlantılarını kullanarak ağ üzerinden veri göndermek ve almak için chrome.sockets.udp API'sini kullanın. Bu API, daha önce "socket" API'sinde bulunan UDP işlevinin yerini alır.

Manifest

Bu API'yi kullanmak için aşağıdaki anahtarların manifest dosyasında tanımlanması gerekir.

"sockets"

Türler

CreateInfo

Özellikler

  • socketId

    sayı

    Yeni oluşturulan soketin kimliği. Bu API'den oluşturulan soket kimliklerinin, desteği sonlandırılmış [socket](../socket/) API gibi diğer API'lerden oluşturulan soket kimlikleriyle uyumlu olmadığını unutmayın.

DnsQueryType

Chrome 103+

DNS çözümleme tercihleri. Varsayılan değer any olup IPv4 veya IPv6 döndürebilen mevcut işletim sistemi yapılandırmasını kullanır. ipv4, IPv4'ü zorunlu kılar ve ipv6, IPv6'yı zorunlu kılar.

Enum

"any"

"ipv4"

"ipv6"

ReceiveErrorInfo

Özellikler

  • resultCode

    sayı

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

  • socketId

    sayı

    Soket kimliği.

ReceiveInfo

Özellikler

  • veri

    ArrayBuffer

    UDP paketi içeriği (mevcut arabellek boyutuna göre kısaltılır).

  • remoteAddress

    dize

    Paketin geldiği ana makinenin adresi.

  • remotePort

    sayı

    Paketin geldiği ana makinenin bağlantı noktası.

  • socketId

    sayı

    Soket kimliği.

SendInfo

Özellikler

  • bytesSent

    number isteğe bağlı

    Gönderilen bayt sayısı (sonuç == 0 ise)

  • resultCode

    sayı

    Temel ağ çağrısından döndürülen sonuç kodu. Negatif değer, hata olduğunu gösterir.

SocketInfo

Özellikler

  • bufferSize

    number isteğe bağlı

    Veri almak için kullanılan arabelleğin boyutu. Arabellek boyutu açıkça belirtilmemişse değer sağlanmaz.

  • localAddress

    string isteğe bağlı

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

  • localPort

    number isteğe bağlı

    Temel soket bağlıysa yerel bağlantı noktasını içerir.

  • ad

    string isteğe bağlı

    Soketle ilişkili, uygulama tarafından tanımlanan dize.

  • duraklatıldı

    boole

    Soketin onReceive etkinliklerini tetiklemesinin engellenip engellenmediğini gösteren işaret.

  • kalıcı

    boole

    Uygulama askıya alındığında soketin açık bırakılıp bırakılmadığını gösteren işaret (bkz. SocketProperties.persistent).

  • socketId

    sayı

    Soket tanımlayıcısı.

SocketProperties

Özellikler

  • bufferSize

    number isteğe bağlı

    Veri almak için kullanılan arabelleğin boyutu. Arabellek, UDP paketini alamayacak kadar küçükse veri kaybı yaşanır. Varsayılan değer 4096'dır.

  • ad

    string isteğe bağlı

    Soketle ilişkili, uygulama tarafından tanımlanan dize.

  • kalıcı

    boole isteğe bağlı

    Uygulamanın etkinlik sayfası kaldırıldığında soketin açık bırakılıp bırakılmadığını gösteren işaret (bkz. Uygulama Yaşam Döngüsünü Yönetme). Varsayılan değer "false"dur. Uygulama yüklendiğinde, daha önce persistent=true ile açılan tüm soketler getSockets ile getirilebilir.

Yöntemler

bind()

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

Soket için yerel adresi ve bağlantı noktasını bağlar. İstemci yuvası için, platformun boş bir bağlantı noktası seçmesine izin vermek üzere 0 numaralı bağlantı noktasının kullanılması önerilir.

bind işlemi başarıyla tamamlandıktan sonra, UDP paketleri belirtilen adrese/bağlantı noktasına ulaştığında onReceive etkinlikleri tetiklenir (Soket duraklatılmadığı sürece).

Parametreler

  • socketId

    sayı

    Soket kimliği.

  • adres

    dize

    Yerel makinenin adresi. DNS adı, IPv4 ve IPv6 biçimleri desteklenir. Mevcut tüm yerel ağ arayüzlerinden paketleri kabul etmek için "0.0.0.0" değerini kullanın.

  • bağlantı noktası

    sayı

    Yerel makinenin bağlantı noktası. Boş bir bağlantı noktasına bağlanmak için "0" değerini kullanın.

  • callback

    işlev

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

    (result: number) => void

    • sonuç

      sayı

      Temel ağ çağrısından döndürülen sonuç kodu. Negatif değer, hata olduğunu gösterir.

close()

Taahhüt
chrome.sockets.udp.close(
  socketId: number,
  callback?: function,
)
: Promise<void>

Soketi kapatır ve soketin bağlı olduğu adresi/bağlantı noktasını serbest bırakır. Oluşturulan her soket kullanıldıktan sonra kapatılmalıdır. Soket kimliği, işlev çağrılır çağrılmaz geçersiz hale gelir. Ancak soketin yalnızca geri çağırma işlevi çağrıldığında kapatılacağı garanti edilir.

Parametreler

  • socketId

    sayı

    Soket kimliği.

  • callback

    function isteğe bağlı

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

    () => void

İadeler

  • Promise<void>

    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.

create()

Taahhüt
chrome.sockets.udp.create(
  properties?: SocketProperties,
  callback?: function,
)
: Promise<CreateInfo>

Belirtilen özelliklere sahip bir UDP soketi oluşturur.

Parametreler

  • mülkler

    SocketProperties isteğe bağlı

    Soket özellikleri (isteğe bağlı).

  • callback

    function isteğe bağlı

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

    (createInfo: CreateInfo) => void

    • createInfo

      Soket oluşturma işleminin sonucu.

İ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.

getInfo()

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

Belirtilen soketin durumunu alır.

Parametreler

  • socketId

    sayı

    Soket kimliği.

  • callback

    function isteğe bağlı

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

    (socketInfo: SocketInfo) => void

    • socketInfo

      Soket bilgilerini içeren nesne.

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

Taahhüt
chrome.sockets.udp.getJoinedGroups(
  socketId: number,
  callback?: function,
)
: Promise<string[]>

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

Parametreler

  • socketId

    sayı

    Soket kimliği.

  • callback

    function isteğe bağlı

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

    (groups: string[]) => void

    • groups

      string[]

      Soketin katıldığı grupların dizisi.

İadeler

  • Promise<string[]>

    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.

getSockets()

Taahhüt
chrome.sockets.udp.getSockets(
  callback?: function,
)
: Promise<SocketInfo[]>

Uygulamaya ait olan ve o anda açık olan soketlerin listesini alır.

Parametreler

  • callback

    function isteğe bağlı

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

    (socketInfos: SocketInfo[]) => void

    • socketInfos

      Soket bilgilerini içeren nesne dizisi.

İ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.

joinGroup()

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

Çoklu yayın grubuna katılır ve bu gruptan paket almaya başlar. Bu yöntem çağrılmadan önce soketin yerel bir bağlantı noktasına bağlanması gerekir.

Parametreler

  • socketId

    sayı

    Soket kimliği.

  • 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ı

      Temel ağ çağrısından döndürülen sonuç kodu. Negatif değer, hata olduğunu gösterir.

leaveGroup()

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

Daha önce joinGroup kullanılarak katıldığınız çoklu yayın grubundan ayrılır. Soket kapatıldığında işletim sistemi tarafından otomatik olarak yapılacağı için bu işlevi yalnızca soketi daha sonra kullanmaya devam etmeyi planlıyorsanız çağırmanız gerekir.

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ı

    Soket kimliği.

  • 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ı

      Temel ağ çağrısından döndürülen sonuç kodu. Negatif değer, hata olduğunu gösterir.

send()

chrome.sockets.udp.send(
  socketId: number,
  data: ArrayBuffer,
  address: string,
  port: number,
  dnsQueryType?: DnsQueryType,
  callback: function,
)
: void

Belirtilen soketteki verileri belirtilen adrese ve bağlantı noktasına gönderir. Bu yöntem çağrılmadan önce soketin yerel bir bağlantı noktasına bağlanması gerekir.

Parametreler

  • socketId

    sayı

    Soket kimliği.

  • veri

    ArrayBuffer

    Gönderilecek veriler.

  • adres

    dize

    Uzak makinenin adresi.

  • bağlantı noktası

    sayı

    Uzak makinenin bağlantı noktası.

  • dnsQueryType

    DnsQueryType isteğe bağlı

    Chrome 103+

    Adres çözümleme tercihi.

  • callback

    işlev

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

    (sendInfo: SendInfo) => void

    • sendInfo

      send yönteminin sonucu.

setBroadcast()

Chrome 44+
chrome.sockets.udp.setBroadcast(
  socketId: number,
  enabled: boolean,
  callback: function,
)
: void

Bu sokette yayın paketlerini etkinleştirir veya devre dışı bırakır.

Parametreler

  • socketId

    sayı

    Soket kimliği.

  • etkin

    boole

    Yayın paketlerini etkinleştirmek için true, devre dışı bırakmak için false.

  • callback

    işlev

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

    (result: number) => void

    • sonuç

      sayı

      Temel ağ çağrısından döndürülen sonuç kodu.

setMulticastLoopbackMode()

chrome.sockets.udp.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 belirler.

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ı

    Soket kimliği.

  • 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ı

      Temel ağ çağrısından döndürülen sonuç kodu. Negatif değer, hata olduğunu gösterir.

setMulticastTimeToLive()

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

Çok noktaya yayın grubuna gönderilen çok noktaya yayın paketlerinin yaşam süresini ayarlar.

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

Parametreler

  • socketId

    sayı

    Soket kimliği.

  • ttl

    sayı

    Geçerlilik değeri.

  • callback

    işlev

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

    (result: number) => void

    • sonuç

      sayı

      Temel ağ çağrısından döndürülen sonuç kodu. Negatif değer, hata olduğunu gösterir.

setPaused()

Taahhüt
chrome.sockets.udp.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)
: Promise<void>

Bir soketi duraklatır veya devam ettirir. Duraklatılmış bir soketin onReceive etkinliklerini tetiklemesi engellenir.

Parametreler

  • socketId

    sayı

    Soket kimliği.

  • duraklatıldı

    boole

    Duraklatma veya devam ettirme durumunu gösteren işaret.

  • callback

    function isteğe bağlı

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

    () => void

İadeler

  • Promise<void>

    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.

update()

Taahhüt
chrome.sockets.udp.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)
: Promise<void>

Soket özelliklerini günceller.

Parametreler

  • socketId

    sayı

    Soket kimliği.

  • mülkler

    Güncellenecek özellikler.

  • callback

    function isteğe bağlı

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

    () => void

İadeler

  • Promise<void>

    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.

Etkinlikler

onReceive

chrome.sockets.udp.onReceive.addListener(
  callback: function,
)

Belirli bir soket için UDP paketi alındığında tetiklenen etkinlik.

Parametreler

  • callback

    işlev

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

    (info: ReceiveInfo) => void

onReceiveError

chrome.sockets.udp.onReceiveError.addListener(
  callback: function,
)

Çalışma zamanı, soket adresi ve bağlantı noktasında veri beklerken bir ağ hatası oluştuğunda tetiklenen etkinlik. Bu etkinlik tetiklendikten sonra soket duraklatılır ve soket devam ettirilene kadar bu soket için başka onReceive etkinliği tetiklenmez.

Parametreler