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 manifest dosyasında beyan edilmelidir.

"sockets"

Türler

CreateInfo

Özellikler

  • socketId

    sayı

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

DnsQueryType

Chrome 103 veya daha yeni bir sürüm

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'ü, ipv6 ise IPv6'yı zorlar.

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

  • aktarma

    ArrayBuffer

    UDP paketi içeriği (geçerli arabellek boyutuna göre kesilmiş).

  • 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ğerler 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 belirtilmediyse değer sağlanmaz.

  • localAddress

    dize 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

    dize isteğe bağlı

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

  • duraklatıldı

    boolean

    Soketin onReceive etkinliklerinin etkinleşmesini engelleyip engellemediğini gösteren işaret.

  • kalıcı

    boolean

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

  • 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 alacak kadar küçükse veriler kaybolur. Varsayılan değer 4.096'dır.

  • ad

    dize isteğe bağlı

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

  • kalıcı

    boolean 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" değeridir. 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

Soketin yerel adresini ve bağlantı noktasını bağlar. İstemci soketi için platformun ücretsiz bir bağlantı noktası seçmesine izin vermek üzere 0 bağlantı noktasının kullanılması önerilir.

bind işlemi başarıyla tamamlandıktan sonra, soket duraklatılmadığı sürece UDP paketleri belirtilen adrese/porta ulaştığında onReceive etkinlikleri oluşturulur.

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 gelen paketleri kabul etmek için "0.0.0.0" değerini kullanın.

  • bağlantı noktası

    sayı

    Yerel makinenin bağlantı noktası. Ücretsiz 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ğerler hata olduğunu gösterir.

close()

Promise
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ımdan sonra kapatılmalıdır. İşlev çağrılır çağrılmaz soket kimliği artık geçerli olmaz. Ancak soketin yalnızca geri çağırma işlemi çağrıldığında kapatılacağı garanti edilir.

Parametreler

  • socketId

    sayı

    Soket kimliği.

  • callback

    işlev isteğe bağlı

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

    () => void

İadeler

  • Promise<void>

    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.

create()

Promise
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

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

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

getInfo()

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

Belirtilen soketin durumunu alır.

Parametreler

  • socketId

    sayı

    Soket kimliği.

  • callback

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

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

getJoinedGroups()

Promise
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

    işlev isteğe bağlı

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

    (groups: string[]) => void

    • groups

      dize[]

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

İadeler

  • Promise<string[]>

    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.

getSockets()

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

Uygulamaya ait olan ve şu anda açık olan yuvaların listesini alır.

Parametreler

  • callback

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

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

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 soket yerel bir bağlantı noktasına bağlanmalıdır.

Parametreler

  • socketId

    sayı

    Soket kimliği.

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

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

leaveGroup()

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

joinGroup kullanılarak daha önce katılan çoklu yayın grubundan ayrılır. Bu, yalnızca soketi kapattıktan sonra kullanmaya devam etmeyi planlıyorsanız gereklidir. Aksi takdirde, soket kapatıldığında işletim sistemi tarafından otomatik olarak yapı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ı

    Soket kimliği.

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

      Temel ağ çağrısından döndürülen sonuç kodu. Negatif değerler 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 soket yerel bir bağlantı noktasına bağlanmalıdır.

Parametreler

  • socketId

    sayı

    Soket kimliği.

  • aktarma

    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 veya daha yeni bir sürüm

    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 veya daha yeni bir sürüm
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

    boolean

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

  • 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 ayarlar.

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ı

    Soket kimliği.

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

      Temel ağ çağrısından döndürülen sonuç kodu. Negatif değerler 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öntemin çağrılması için çoklu yayın izinleri gerekmez.

Parametreler

  • socketId

    sayı

    Soket kimliği.

  • ttl

    sayı

    Geçerlilik süresi 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ğerler hata olduğunu gösterir.

setPaused()

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

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

Parametreler

  • socketId

    sayı

  • duraklatıldı

    boolean

    Duraklatılacağını veya devam ettirileceğini belirten işaret.

  • callback

    işlev isteğe bağlı

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

    () => void

İadeler

  • Promise<void>

    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.

update()

Promise
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 mülkler.

  • callback

    işlev isteğe bağlı

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

    () => void

İadeler

  • Promise<void>

    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.

Etkinlikler

onReceive

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

Belirli bir soket için bir UDP paketi alındığında oluşturulan 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ındaki verileri beklerken bir ağ hatası oluştuğunda tetiklenen etkinlik. Bu etkinlik oluşturulduktan sonra soket duraklatılır ve soket devam ettirilene kadar bu soket için başka onReceive etkinlikleri oluşturulmaz.

Parametreler