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ıma sunuldu.
İ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
-
veri
ArrayBuffer
-
resultCode
sayı
Temel read() çağrısından döndürülen resultCode.
RecvFromInfo
Özellikler
-
adres
dize
Uzak makinenin adresi.
-
veri
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
soketlerinde, uzak eşle bağlantı kesilse bile bu durum geçerliliğini korur. Bu durumda, sokete okuma veya yazma işlemi, bu soketindisconnect()
aracılığıyla bağlantısının kesilmesi gerektiğini belirten bir hatayla sonuçlanabilir.udp
soketlerinde bu, yalnızca paket okuma ve yazma için varsayılan bir uzak adresin belirtilip belirtilmediğini gösterir. -
localAddress
dize isteğe bağlı
Temel soket bağlı veya bağlıysa yerel IPv4/6 adresini içerir.
-
localPort
number isteğe bağlı
Temel soket bağlı veya bağlıysa yerel bağlantı noktasını içerir.
-
peerAddress
dize isteğe bağlı
Temel soket bağlıysa eşlemenin 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
İletilen soketin türü. Bu,
tcp
veyaudp
olacaktır.
SocketType
Enum
"tcp"
"udp"
TLSVersionConstraints
Özellikler
-
maks.
dize isteğe bağlı
-
dk
dize isteğe bağlı
TLS'nin kabul edilebilir minimum ve maksimum 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 bir hata kodu.
Yöntemler
accept()
chrome.socket.accept(
socketId: number,
callback: function,
)
Bu yöntem yalnızca TCP soketlerinde geçerlidir. Bu dinleyici sunucu soketinde bir bağlantı kabul edildiğinde çağrılacak bir geri çağırma işlevi kaydeder. Önce Listen çağrılmalıdır. Etkin bir kabul geri çağırma işlevi varsa bu geri çağırma işlevi, resultCode olarak bir hata ile hemen çağrılır.
Parametreler
-
socketId
sayı
socketId.
-
geri çağırma
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,
)
Soket için yerel adresi bağlar. Şu anda TCP soketi desteklenmiyor.
Parametreler
-
socketId
sayı
socketId.
-
adres
dize
Yerel makinenin adresi.
-
bağlantı noktası
sayı
Yerel makinenin bağlantı noktası.
-
geri çağırma
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,
)
Soketi uzak makineye bağlar (tcp
soketi için). udp
soketi için bu, read()
ve write()
çağrılarında paketlerin gönderildiği ve okunduğu varsayılan adresi belirler.
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ı.
-
geri çağırma
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,
)
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.
-
geri çağırma
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ümlerSözler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
destroy()
chrome.socket.destroy(
socketId: number,
)
Soketi yok eder. Oluşturulan her soket kullanımdan sonra imha edilmelidir.
Parametreler
-
socketId
sayı
socketId.
disconnect()
chrome.socket.disconnect(
socketId: number,
)
Prizin bağlantısını keser. UDP soketlerinde disconnect
bir işlem değildir ancak çağrılması güvenlidir.
Parametreler
-
socketId
sayı
socketId.
getInfo()
chrome.socket.getInfo(
socketId: number,
callback?: function,
)
Belirtilen soketin durumunu alır.
Parametreler
-
socketId
sayı
socketId.
-
geri çağırma
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ümlerSözler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
getJoinedGroups()
chrome.socket.getJoinedGroups(
socketId: number,
callback: function,
)
Soketin şu anda bağlı olduğu çoklu yayın grubu adreslerini alın.
Parametreler
-
socketId
sayı
socketId.
-
geri çağırma
işlev
callback
parametresi şu şekilde görünür:(groups: string[]) => void
-
groups
dize[]
-
getNetworkList()
chrome.socket.getNetworkList(
callback?: function,
)
Bu sistemdeki yerel bağdaştırıcılar hakkında bilgi alır.
Parametreler
-
geri çağırma
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ümlerSözler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
joinGroup()
chrome.socket.joinGroup(
socketId: number,
address: string,
callback: function,
)
Ç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ğlanmış olmalıdır.
Parametreler
-
socketId
sayı
socketId.
-
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ı
-
leaveGroup()
chrome.socket.leaveGroup(
socketId: number,
address: string,
callback: function,
)
Daha önce katıldığınız çoklu yayın grubundan joinGroup
'ü kullanarak 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 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ı
socketId.
-
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ı
-
listen()
chrome.socket.listen(
socketId: number,
address: string,
port: number,
backlog?: number,
callback: function,
)
Bu yöntem yalnızca TCP soketlerinde geçerlidir. Belirtilen bağlantı noktasında ve adreste bağlantıları dinler. Bu işlem, soketi etkili bir şekilde sunucu soketi haline getirir ve istemci soket işlevleri (bağlantı, 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ı.
-
iş listesi
number isteğe bağlı
Soketin dinleme sırasının uzunluğu.
-
geri çağırma
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,
)
Belirtilen bağlı soketten veri okur.
Parametreler
-
socketId
sayı
socketId.
-
bufferSize
number isteğe bağlı
Okuma arabellek boyutu.
-
geri çağırma
işlev
callback
parametresi şu şekilde görünür:(readInfo: ReadInfo) => void
-
readInfo
-
recvFrom()
chrome.socket.recvFrom(
socketId: number,
bufferSize?: number,
callback: function,
)
Belirtilen UDP soketi üzerinden veri alır.
Parametreler
-
socketId
sayı
socketId.
-
bufferSize
number isteğe bağlı
Alma arabellek boyutu.
-
geri çağırma
işlev
callback
parametresi şu şekilde görünür:(recvFromInfo: RecvFromInfo) => void
-
recvFromInfo
-
secure()
chrome.socket.secure(
socketId: number,
options?: SecureOptions,
callback: function,
)
Bağlı bir TCP istemci soketi üzerinden TLS istemci bağlantısı başlatın.
Parametreler
-
socketId
sayı
Kullanılacak bağlı soket.
-
seçenekler
SecureOptions isteğe bağlı
TLS bağlantısı için kısıtlamalar ve parametreler.
-
geri çağırma
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,
)
Belirtilen UDP soketi üzerindeki verileri belirtilen adrese ve bağlantı noktasına gönderir.
Parametreler
-
socketId
sayı
socketId.
-
veri
ArrayBuffer
Yazılacak veriler.
-
adres
dize
Uzak makinenin adresi.
-
bağlantı noktası
sayı
Uzak makinenin bağlantı noktası.
-
geri çağırma
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,
)
TCP bağlantısı için etkin kalma işlevini etkinleştirir veya devre dışı bırakır.
Parametreler
-
socketId
sayı
socketId.
-
enable
boolean
Doğru ise keep-alive işlevini etkinleştirin.
-
gecikme
number isteğe bağlı
Alınan son veri paketi ile ilk keepalive probu arasındaki gecikme saniyelerini ayarlayın. Varsayılan değer 0'dır.
-
geri çağırma
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,
)
Ana makineden çoklu yayın grubuna gönderilen çoklu yayın paketlerinin ana makineye geri dönüp dönmeyeceğini ayarlayın.
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öntemi çağırmak için çoklu yayın izinleri gerekmez.
Parametreler
-
socketId
sayı
socketId.
-
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ı
-
setMulticastTimeToLive()
chrome.socket.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
)
Çoklu yayın grubuna gönderilen çoklu yayın paketlerinin yaşam süresini ayarlayın.
Bu yöntemi çağırmak için çoklu yayın izinleri gerekmez.
Parametreler
-
socketId
sayı
socketId.
-
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ı
-
setNoDelay()
chrome.socket.setNoDelay(
socketId: number,
noDelay: boolean,
callback: function,
)
TCP bağlantısı için TCP_NODELAY
değerini ayarlar veya temizler. TCP_NODELAY
ayarlandığında Nagle algoritması devre dışı bırakılır.
Parametreler
-
socketId
sayı
socketId.
-
noDelay
boolean
Doğru ise Nagle algoritmasını devre dışı bırakır.
-
geri çağırma
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,
)
Belirtilen bağlı sokete veri yazar.