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 "soket" API'sinde bulunan UDP işlevinin yerini alır.
Manifest
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 gibi diğer API'lerden oluşturulan soket kimlikleriyle uyumlu olmadığını unutmayın.
DnsQueryType
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
-
veri
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 tanımlı dize.
-
duraklatıldı
boole
Soketin onReceive etkinliklerinin tetiklenmesinin 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 (
SocketProperties.persistentbö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 almak için çok 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ı
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çılmış olan tüm soketler
getSocketsile 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 yuvası 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 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ı. Ücretsiz bir bağlantı noktasına bağlanmak için "0" değerini kullanın.
-
callback
işlev
callbackparametresi ş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()
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 başlatıldığında kapatılacağı garanti edilir.
Parametreler
-
socketId
sayı
Soket kimliği.
-
callback
işlev isteğe bağlı
callbackparametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 121 ve sonraki sürümlerPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
create()
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ı
callbackparametresi ş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ümlerPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
getInfo()
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ı
callbackparametresi şu şekilde görünür:(socketInfo: SocketInfo) => void
-
socketInfo
Soket bilgilerini içeren nesne.
-
İadeler
-
Promise<SocketInfo>
Chrome 121 ve sonraki sürümlerPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
getJoinedGroups()
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ı
callbackparametresi ş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ümlerPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
getSockets()
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ı
callbackparametresi ş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ümlerPromises 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
callbackparametresi ş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ıldığınızda, ana makinede başka bir işlem hala gruba bağlı değilse yönlendiricinin yerel ana makineye çoklu yayın datagramları göndermesi engellenir.
Parametreler
-
socketId
sayı
Soket kimliği.
-
adres
dize
Ayrılmak istediğiniz grup adresi. Alan adları desteklenmez.
-
callback
işlev
callbackparametresi ş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.
-
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 veya daha yeni bir sürümAdres çözümleme tercihi.
-
callback
işlev
callbackparametresi şu şekilde görünür:(sendInfo: SendInfo) => void
-
sendInfo
sendyönteminin sonucu.
-
setBroadcast()
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çinfalsesimgesine dokunun. -
callback
işlev
callbackparametresi ş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 karakterinin davranışı Windows ve Unix benzeri sistemler arasında biraz farklıdır. 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 oluşur. Windows'da geri döngüsü kapalı olan uygulamalar geri döngü paketlerini ALMAZ. Unix benzeri sistemlerde ise geri döngüsü kapalı 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 izni gerekmez.
Parametreler
-
socketId
sayı
Soket kimliği.
-
etkin
boole
Geri döngü modunun etkinleştirilip etkinleştirilmeyeceğini belirtin.
-
callback
işlev
callbackparametresi ş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 TTL'sini 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
callbackparametresi ş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()
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 etkinlikleri tetiklemesi engellenir.
Parametreler
-
socketId
sayı
Soket kimliği.
-
duraklatıldı
boole
Duraklatma veya devam ettirme işleminin yapılacağını gösteren işaret.
-
callback
işlev isteğe bağlı
callbackparametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 121 ve sonraki sürümlerPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
update()
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
işlev isteğe bağlı
callbackparametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 121 ve sonraki sürümlerPromises 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
callbackparametresi şu şekilde görünür:(info: ReceiveInfo) => void
-
bilgi
-
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
-
callback
işlev
callbackparametresi şu şekilde görünür:(info: ReceiveErrorInfo) => void
-
bilgi
-