Açıklama
TCP ve UDP bağlantılarını kullanarak ağ üzerinden veri göndermek ve almak için chrome.socket
API'yi kullanın. Not: Chrome 33'ten itibaren bu API'nin desteği sonlandırıldı ve sockets.udp
, sockets.tcp
ve sockets.tcpServer
API'leri kullanılmaya başlandı.
İzinler
socket
Türler
AcceptInfo
Özellikler
-
resultCode
sayı
-
socketId
number isteğe bağlı
Kabul edilen soketin kimliği.
CreateInfo
Özellikler
-
socketId
sayı
Yeni oluşturulan soketin kimliği.
CreateOptions
NetworkInterface
Özellikler
-
adres
dize
Kullanılabilir IPv4/6 adresi.
-
ad
dize
Adaptörün temel adı. *nix'te bu genellikle "eth0", "lo" vb. olur.
-
prefixLength
sayı
Önek uzunluğu
ReadInfo
Özellikler
-
aktarma
ArrayBuffer
-
resultCode
sayı
Temel read() çağrısından döndürülen resultCode.
RecvFromInfo
Özellikler
-
adres
dize
Uzak makinenin adresi.
-
aktarma
ArrayBuffer
-
bağlantı noktası
sayı
-
resultCode
sayı
Temel recvfrom() çağrısından döndürülen resultCode.
SecureOptions
Özellikler
-
tlsVersion
TLSVersionConstraints isteğe bağlı
SocketInfo
Özellikler
-
bağlandı
boolean
Temel soketin bağlı olup olmadığı.
tcp
soketleri için bu durum, uzak eşin bağlantısı kesilmiş olsa bile geçerli olmaya devam eder. Ardından, sokete okuma veya yazma işlemi yapıldığında hata oluşabilir. Bu da soketindisconnect()
üzerinden bağlantısının kesilmesi gerektiğini gösterir.udp
yuvaları için bu yalnızca paket okuma ve yazma işlemleri için varsayılan bir uzak adresin belirtilip belirtilmediğini gösterir. -
localAddress
dize isteğe bağlı
Temel soket bağlıysa veya bağlanmışsa yerel IPv4/6 adresini içerir.
-
localPort
number isteğe bağlı
Temel soket bağlıysa veya bağlanmışsa yerel bağlantı noktasını içerir.
-
peerAddress
dize isteğe bağlı
Temel soket bağlıysa eşin IPv4/6 adresini içerir.
-
peerPort
number isteğe bağlı
Temel soket bağlıysa bağlı eşin bağlantı noktasını içerir.
-
socketType
Geçirilen soketin türü. Bu değer
tcp
veyaudp
olacaktır.
SocketType
Enum
"tcp"
"udp"
TLSVersionConstraints
Özellikler
-
maks.
dize isteğe bağlı
-
dk
dize isteğe bağlı
Kabul edilebilir minimum ve maksimum TLS sürümleri.
tls1.2
veyatls1.3
değerleri desteklenir.tls1
vetls1.1
değerleri artık desteklenmiyor.min
bu değerlerden birine ayarlanırsa sessizcetls1.2
değerine sabitlenir.max
bu değerlerden birine veya tanınmayan başka bir değere ayarlanırsa sessizce yoksayılır.
WriteInfo
Özellikler
-
bytesWritten
sayı
Gönderilen bayt sayısı veya negatif hata kodu.
Yöntemler
accept()
chrome.socket.accept(
socketId: number,
callback: function,
): void
Bu yöntem yalnızca TCP soketleri için geçerlidir. Bu dinleme sunucusu soketinde bir bağlantı kabul edildiğinde çağrılacak bir geri çağırma işlevini kaydeder. Önce listen() çağrılmalıdır. Halihazırda etkin bir kabul geri araması varsa bu geri arama, resultCode olarak hata ile hemen çağrılır.
Parametreler
-
socketId
sayı
socketId.
-
callback
işlev
callback
parametresi şu şekilde görünür:(acceptInfo: AcceptInfo) => void
-
acceptInfo
-
bind()
chrome.socket.bind(
socketId: number,
address: string,
port: number,
callback: function,
): void
Soketin yerel adresini bağlar. Şu anda TCP soketi desteklenmemektedir.
Parametreler
-
socketId
sayı
socketId.
-
adres
dize
Yerel makinenin adresi.
-
bağlantı noktası
sayı
Yerel makinenin bağlantı noktası.
-
callback
işlev
callback
parametresi şu şekilde görünür:(result: number) => void
-
sonuç
sayı
-
connect()
chrome.socket.connect(
socketId: number,
hostname: string,
port: number,
callback: function,
): void
Soketi uzak makineye bağlar (tcp
soketi için). udp
soketi için bu, read()
ve write()
çağrıları için paketlerin gönderildiği ve okunduğu varsayılan adresi ayarlar.
Parametreler
-
socketId
sayı
socketId.
-
ana makine adı
dize
Uzak makinenin ana makine adı veya IP adresi.
-
bağlantı noktası
sayı
Uzak makinenin bağlantı noktası.
-
callback
işlev
callback
parametresi şu şekilde görünür:(result: number) => void
-
sonuç
sayı
-
create()
chrome.socket.create(
type: SocketType,
options?: CreateOptions,
callback?: function,
): Promise<CreateInfo>
Belirtilen uzak makineye bağlanacak, belirtilen türde bir soket oluşturur.
Parametreler
-
tür
Oluşturulacak soketin türü.
tcp
veyaudp
olmalıdır. -
seçenekler
CreateOptions isteğe bağlı
Soket seçenekleri.
-
callback
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(createInfo: CreateInfo) => void
-
createInfo
-
İ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.
destroy()
chrome.socket.destroy(
socketId: number,
): void
Soketi yok eder. Oluşturulan her soket, kullanımdan sonra yok edilmelidir.
Parametreler
-
socketId
sayı
socketId.
disconnect()
chrome.socket.disconnect(
socketId: number,
): void
Soketin bağlantısını keser. UDP soketleri için disconnect
işlem yapılmaz ancak çağrılması güvenlidir.
Parametreler
-
socketId
sayı
socketId.
getInfo()
chrome.socket.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
Belirtilen soketin durumunu alır.
Parametreler
-
socketId
sayı
socketId.
-
callback
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(result: SocketInfo) => void
-
sonuç
-
İ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.socket.getJoinedGroups(
socketId: number,
callback: function,
): void
Soketin şu anda katıldığı çoklu yayın grubu adreslerini alır.
Parametreler
-
socketId
sayı
socketId.
-
callback
işlev
callback
parametresi şu şekilde görünür:(groups: string[]) => void
-
groups
dize[]
-
getNetworkList()
chrome.socket.getNetworkList(
callback?: function,
): Promise<NetworkInterface[]>
Bu sistemdeki yerel bağdaştırıcılar hakkında bilgi alır.
Parametreler
-
callback
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(result: NetworkInterface[]) => void
-
sonuç
-
İadeler
-
Promise<NetworkInterface[]>
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.socket.joinGroup(
socketId: number,
address: string,
callback: function,
): void
Çoklu yayın grubuna katılın ve bu gruptan paket almaya başlayın. Soket, UDP türünde olmalı ve bu yöntem çağrılmadan önce yerel bir bağlantı noktasına bağlanmalıdır.
Parametreler
-
socketId
sayı
socketId.
-
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ı
-
leaveGroup()
chrome.socket.leaveGroup(
socketId: number,
address: string,
callback: function,
): void
Daha önce joinGroup
kullanılarak katılan çoklu yayın grubundan ayrılın. Soketi yok etmeden veya çıkmadan önce çoklu yayın grubundan ayrılmanız gerekmez. Bu işlev, işletim sistemi tarafından otomatik olarak çağrı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ı
socketId.
-
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ı
-
listen()
chrome.socket.listen(
socketId: number,
address: string,
port: number,
backlog?: number,
callback: function,
): void
Bu yöntem yalnızca TCP soketleri için geçerlidir. Belirtilen bağlantı noktası ve adresteki bağlantıları dinler. Bu işlem, soketi etkili bir şekilde sunucu soketi haline getirir ve istemci soketi işlevleri (bağlanma, okuma, yazma) artık bu sokette kullanılamaz.
Parametreler
-
socketId
sayı
socketId.
-
adres
dize
Yerel makinenin adresi.
-
bağlantı noktası
sayı
Yerel makinenin bağlantı noktası.
-
backlog
number isteğe bağlı
Soketin dinleme sırasının uzunluğu.
-
callback
işlev
callback
parametresi şu şekilde görünür:(result: number) => void
-
sonuç
sayı
-
read()
chrome.socket.read(
socketId: number,
bufferSize?: number,
callback: function,
): void
Belirtilen bağlı soketten verileri okur.
Parametreler
-
socketId
sayı
socketId.
-
bufferSize
number isteğe bağlı
Okuma arabellek boyutu.
-
callback
işlev
callback
parametresi şu şekilde görünür:(readInfo: ReadInfo) => void
-
readInfo
-
recvFrom()
chrome.socket.recvFrom(
socketId: number,
bufferSize?: number,
callback: function,
): void
Belirtilen UDP soketinden veri alır.
Parametreler
-
socketId
sayı
socketId.
-
bufferSize
number isteğe bağlı
Alım arabellek boyutu.
-
callback
işlev
callback
parametresi şu şekilde görünür:(recvFromInfo: RecvFromInfo) => void
-
recvFromInfo
-
secure()
chrome.socket.secure(
socketId: number,
options?: SecureOptions,
callback: function,
): void
Bağlı bir TCP istemci soketi üzerinden TLS istemci bağlantısı başlatın.
Parametreler
-
socketId
sayı
Kullanılacak bağlı yuva.
-
seçenekler
SecureOptions isteğe bağlı
TLS bağlantısıyla ilgili kısıtlamalar ve parametreler.
-
callback
işlev
callback
parametresi şu şekilde görünür:(result: number) => void
-
sonuç
sayı
-
sendTo()
chrome.socket.sendTo(
socketId: number,
data: ArrayBuffer,
address: string,
port: number,
callback: function,
): void
Belirtilen UDP soketindeki verileri belirtilen adrese ve bağlantı noktasına gönderir.
Parametreler
-
socketId
sayı
socketId.
-
aktarma
ArrayBuffer
Yazılacak veriler.
-
adres
dize
Uzak makinenin adresi.
-
bağlantı noktası
sayı
Uzak makinenin bağlantı noktası.
-
callback
işlev
callback
parametresi şu şekilde görünür:(writeInfo: WriteInfo) => void
-
writeInfo
-
setKeepAlive()
chrome.socket.setKeepAlive(
socketId: number,
enable: boolean,
delay?: number,
callback: function,
): void
Bir TCP bağlantısı için etkin tutma işlevini etkinleştirir veya devre dışı bırakır.
Parametreler
-
socketId
sayı
socketId.
-
enable
boolean
Doğruysa keep-alive işlevini etkinleştirin.
-
gecikme
number isteğe bağlı
Alınan son veri paketi ile ilk canlı tutma araştırması arasındaki gecikme süresini saniye cinsinden ayarlayın. Varsayılan değer 0'dır.
-
callback
işlev
callback
parametresi şu şekilde görünür:(result: boolean) => void
-
sonuç
boolean
-
setMulticastLoopbackMode()
chrome.socket.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 ayarlayın.
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ı
socketId.
-
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ı
-
setMulticastTimeToLive()
chrome.socket.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
): void
Çok noktaya yayın grubuna gönderilen çok noktaya yayın paketlerinin TTL'sini ayarlayın.
Bu yöntemin çağrılması için çoklu yayın izinleri gerekmez.
Parametreler
-
socketId
sayı
socketId.
-
ttl
sayı
Geçerlilik süresi değeri.
-
callback
işlev
callback
parametresi şu şekilde görünür:(result: number) => void
-
sonuç
sayı
-
setNoDelay()
chrome.socket.setNoDelay(
socketId: number,
noDelay: boolean,
callback: function,
): void
TCP bağlantısı için TCP_NODELAY
ayarlarını belirler veya temizler. TCP_NODELAY
ayarlandığında Nagle algoritması devre dışı bırakılır.
Parametreler
-
socketId
sayı
socketId.
-
noDelay
boolean
Doğruysa Nagle algoritmasını devre dışı bırakır.
-
callback
işlev
callback
parametresi şu şekilde görünür:(result: boolean) => void
-
sonuç
boolean
-
write()
chrome.socket.write(
socketId: number,
data: ArrayBuffer,
callback: function,
): void
Belirtilen bağlı sokete veri yazar.