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, kullanımdan kaldırılan
[
soket](../socket/)
API'si 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
-
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()
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ü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ı
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ü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ı
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ü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ı
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ü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ı
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ü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
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ümAdres çözümleme tercihi.
-
callback
işlev
callback
parametresi şu şekilde görünür:(sendInfo: SendInfo) => void
-
sendInfo
send
yö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
boolean
Yayın paketlerini etkinleştirmek için
true
, devre dışı bırakmak içinfalse
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()
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ü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 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ü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
callback
parametresi ş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
callback
parametresi şu şekilde görünür:(info: ReceiveErrorInfo) => void
-
bilgi
-