chrome.sockets.udp

Açıklama

UDP bağlantılarını kullanarak ağ üzerinden veri göndermek ve almak için chrome.sockets.udp API'yi kullanın. Bu API, daha önce "socket" API'de 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, desteği sonlandırılan [socket](../socket/) API gibi diğer API'lerden oluşturulan soket kimlikleriyle uyumlu olmadığını unutmayın.

DnsQueryType

Chrome 103 ve sonraki sürümler

DNS çözümleme tercihleri. Varsayılan değer any'tür ve IPv4 veya IPv6 döndürebilecek 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 paket içeriği (geçerli 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ı (result == 0 ise)

  • resultCode

    sayı

    Temel ağ çağrısından döndürülen sonuç kodu. Negatif değer bir hatayı gösterir.

SocketInfo

Özellikler

  • bufferSize

    number isteğe bağlı

    Veri almak için kullanılan arabelleğin boyutu. Açıkça bir arabellek boyutu 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 tanımlı dize.

  • duraklatıldı

    boolean

    Soketin onReceive etkinliklerinin tetiklenmesini engelleyip engellemediğini belirten işaret.

  • kalıcı

    boolean

    Uygulama askıya alındığında soketin açık bırakılıp bırakılmayacağını belirten 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 veriler kaybolur. Varsayılan değer 4096'dır.

  • ad

    dize isteğe bağlı

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

  • kalıcı

    boole isteğe bağlı

    Uygulamanın etkinlik sayfası yüklenmediğinde soketin açık bırakılıp bırakılmadığını belirten işaret (Uygulama Yaşam Döngüsünü Yönetme bölümüne bakın). Varsayılan değer "false" (yanlış) 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,
)

Soket için yerel adresi ve bağlantı noktasını bağlar. İstemci soketi 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, soket duraklatılmadığı sürece UDP paketleri belirtilen adrese/porta ulaştığında onReceive etkinlikleri tetiklenir.

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ı. Boş bir bağlantı noktasına bağlamak için "0" değerini kullanın.

  • geri çağırma

    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 bir hatayı gösterir.

close()

Promise
chrome.sockets.udp.close(
  socketId: number,
  callback?: function,
)

Soketi kapatır ve soketin bağlı olduğu adresi/portu serbest bırakır. Oluşturulan her soket kullanımdan sonra kapatılmalıdır. İşlev çağrıldıktan sonra soket kimliği artık geçerli değildir. Ancak, soketin yalnızca geri çağırma işlevi çağrıldığında kapatılacağı garanti edilir.

Parametreler

  • socketId

    sayı

    Soket kimliği.

  • geri çağırma

    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

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

create()

Promise
chrome.sockets.udp.create(
  properties?: SocketProperties,
  callback?: function,
)

Belirtilen özelliklere sahip bir UDP soketi oluşturur.

Parametreler

  • mülkler

    SocketProperties isteğe bağlı

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

  • geri çağırma

    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

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

getInfo()

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

Belirtilen soketin durumunu alır.

Parametreler

  • socketId

    sayı

    Soket kimliği.

  • geri çağırma

    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

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

getJoinedGroups()

Promise
chrome.sockets.udp.getJoinedGroups(
  socketId: number,
  callback?: function,
)

Soketin şu anda bağlı olduğu çoklu yayın grubu adreslerini alır.

Parametreler

  • socketId

    sayı

    Soket kimliği.

  • geri çağırma

    işlev isteğe bağlı

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

    (groups: string[]) => void

    • groups

      dize[]

      Soketin katıldığı grup dizisi.

İadeler

  • Promise<string[]>

    Chrome 121 ve sonraki sürümler

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

getSockets()

Promise
chrome.sockets.udp.getSockets(
  callback?: function,
)

Uygulamaya ait şu anda açık olan soketlerin listesini alır.

Parametreler

  • geri çağırma

    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

    Sözler 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,
)

Ç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ılacağınız grup adresi. Alan adları desteklenmez.

  • geri çağırma

    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 bir hatayı gösterir.

leaveGroup()

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

Daha önce joinGroup kullanılarak katılan çoklu yayın grubundan ayrılır. Bu işlem, yalnızca soket kapatıldığında işletim sistemi tarafından otomatik olarak yapıldığından, soketi daha sonra kullanmayı planlıyorsanız çağrılması gerekir.

Gruptan ayrılmak, ana makinede grupta hâlâ başka bir işlem olmadığı varsayılarak yönlendiricinin yerel ana makineye çoklu yayın veri paketleri göndermesini engeller.

Parametreler

  • socketId

    sayı

    Soket kimliği.

  • adres

    dize

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

  • geri çağırma

    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 bir hatayı gösterir.

send()

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

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 ve sonraki sürümler

    Adres çözümleme tercihi.

  • geri çağırma

    işlev

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

    (sendInfo: SendInfo) => void

    • sendInfo

      send yönteminin sonucu.

setBroadcast()

Chrome 44 ve sonraki sürümler
chrome.sockets.udp.setBroadcast(
  socketId: number,
  enabled: boolean,
  callback: function,
)

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 simgesini tıklayın.

  • geri çağırma

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

Ana makineden çoklu yayın grubuna gönderilen çoklu yayın paketlerinin ana makineye geri dönüp dönmeyeceğini belirler.

Not: setMulticastLoopbackMode işlevinin davranışı Windows ile Unix benzeri sistemler arasında biraz farklıdır. Tutarsızlık yalnızca aynı ana makinede, çoklu yayın geri döngü modunda farklı ayarlara sahipken aynı çoklu yayın grubuna katılmış birden fazla uygulama olduğunda ortaya çıkar. Windows'ta, loopback devre dışı olan uygulamalar loopback paketlerini ALMAZ. Unix benzeri sistemlerde ise loopback devre dışı olan uygulamalar loopback paketlerini aynı ana makinedeki diğer uygulamalara GÖNDERMEZ. MSDN'ye bakın: http://goo.gl/6vqbj

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

Parametreler

  • socketId

    sayı

    Soket kimliği.

  • etkin

    boolean

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

  • geri çağırma

    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 bir hatayı gösterir.

setMulticastTimeToLive()

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

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

  • geri çağırma

    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 bir hatayı gösterir.

setPaused()

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

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

Parametreler

  • socketId

    sayı

  • duraklatıldı

    boolean

    Duraklatmanın veya duraklatmanın kaldırılmasının belirtildiği işaret.

  • geri çağırma

    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

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

update()

Promise
chrome.sockets.udp.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)

Soket özelliklerini günceller.

Parametreler

  • socketId

    sayı

    Soket kimliği.

  • mülkler

    Güncellenecek tesisler.

  • geri çağırma

    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

    Sözler 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,
)

Belirtilen soket için bir UDP paketi alındığında oluşturulan etkinlik.

Parametreler

  • geri çağırma

    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 etkinlik oluşturulur. Bu etkinlik tetiklendikten sonra soket duraklatılır ve soket devam ettirilene kadar bu soket için başka onReceive etkinliği tetiklenmez.

Parametreler