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
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
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
getSocketsile 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
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ğer, 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ı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ı
callbackparametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 121 ve sonraki sürümlerPromise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
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
function 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ümlerPromise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
getInfo()
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ı
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ümlerPromise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
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
function 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ümlerPromise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
getSockets()
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ı
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ümlerPromise'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
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ğ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
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ğ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
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çinfalse. -
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, 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
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ğ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
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ğer, hata olduğunu gösterir.
-
setPaused()
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ı
callbackparametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 121 ve sonraki sürümlerPromise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
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
function isteğe bağlı
callbackparametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 121 ve sonraki sürümlerPromise'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
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ı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
-
callback
işlev
callbackparametresi şu şekilde görünür:(info: ReceiveErrorInfo) => void
-
bilgi
-