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, sockets.udp, sockets.tcp ve sockets.tcpServer API'leri lehine kullanımdan kaldırılmıştır.
İzinler
socketTü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ı
boole
Temel soketin bağlı olup olmadığı
tcpsoketleri için, uzak eşin bağlantısı kesilse bile bu değer doğru olarak kalır. Sokete okuma veya yazma işlemi hatayla sonuçlanabilir. Bu durumda, soketindisconnect()üzerinden bağlantısının kesilmesi gerektiği belirtilir.udpsoketleri için bu, yalnızca paketleri okumak ve yazmak için varsayılan bir uzak adresin belirtilip belirtilmediğini gösterir. -
localAddress
string isteğe bağlı
Temel soket bağlıysa veya bağlantı kurulmuşsa yerel IPv4/6 adresini içerir.
-
localPort
number isteğe bağlı
Temel soket bağlıysa veya bağlantı kurulmuşsa yerel bağlantı noktasını içerir.
-
peerAddress
string 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
tcpveyaudpolur.
SocketType
Enum
"tcp"
"udp"
TLSVersionConstraints
Özellikler
-
maks.
string isteğe bağlı
-
dk
string isteğe bağlı
Kabul edilebilir minimum ve maksimum TLS sürümleri.
tls1.2veyatls1.3değerleri desteklenir.tls1vetls1.1değerleri artık desteklenmiyor.minbu değerlerden birine ayarlanırsa sessizcetls1.2değerine sabitlenir.maxbu 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,
): void
Bu yöntem yalnızca TCP soketleri için geçerlidir. Bu dinleme sunucu yuvasında bir bağlantı kabul edildiğinde çağrılacak bir geri çağırma işlevi kaydeder. Önce dinleme çağrılmalıdır. Etkin bir kabul geri çağırma işlevi varsa bu geri çağırma işlevi, resultCode olarak bir hatayla hemen çağrılır.
Parametreler
-
socketId
sayı
socketId.
-
callback
işlev
callbackparametresi şu şekilde görünür:(acceptInfo: AcceptInfo) => void
-
acceptInfo
-
bind()
chrome.socket.bind(
socketId: number,
address: string,
port: number,
callback: function,
): void
Soket için yerel adresi bağlar. Şu anda TCP soketini desteklemiyor.
Parametreler
-
socketId
sayı
socketId.
-
adres
dize
Yerel makinenin adresi.
-
bağlantı noktası
sayı
Yerel makinenin bağlantı noktası.
-
callback
işlev
callbackparametresi ş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
callbackparametresi ş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ü.
tcpveyaudpolmalıdır. -
seçenekler
CreateOptions isteğe bağlı
Soket seçenekleri.
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:(createInfo: CreateInfo) => void
-
createInfo
-
İ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.
destroy()
chrome.socket.destroy(
socketId: number,
): void
Soketi yok eder. Oluşturulan her soket kullanıldıktan sonra silinmelidir.
Parametreler
-
socketId
sayı
socketId.
disconnect()
chrome.socket.disconnect(
socketId: number,
): void
Soket bağlantısını keser. UDP soketleri için disconnect bir işlem değildir 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
function isteğe bağlı
callbackparametresi şu şekilde görünür:(result: SocketInfo) => void
-
sonuç
-
İ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.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
callbackparametresi şu şekilde görünür:(groups: string[]) => void
-
groups
string[]
-
getNetworkList()
chrome.socket.getNetworkList(
callback?: function,
): Promise<NetworkInterface[]>
Bu sistemdeki yerel bağdaştırıcılar hakkında bilgi alır.
Parametreler
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:(result: NetworkInterface[]) => void
-
sonuç
-
İadeler
-
Promise<NetworkInterface[]>
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.socket.joinGroup(
socketId: number,
address: string,
callback: function,
): void
Çoklu yayın grubuna katılma ve bu gruptan paket almaya başlama 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 grubun adresi. Alan adları desteklenmez.
-
callback
işlev
callbackparametresi ş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 kullanarak katıldığınız çoklu yayın grubundan ayrılın. Soketi yok etmeden veya çıkış yapmadan önce çoklu yayın grubundan ayrılmanız gerekmez. Bu, işletim sistemi tarafından otomatik olarak çağrılır.
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ı
socketId.
-
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ı
-
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 yuvası haline getirir ve istemci yuvası 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ı.
-
birikmiş işler
number isteğe bağlı
Soketin dinleme sırasının uzunluğu.
-
callback
işlev
callbackparametresi ş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 veri okur.
Parametreler
-
socketId
sayı
socketId.
-
bufferSize
number isteğe bağlı
Okuma arabelleği boyutu.
-
callback
işlev
callbackparametresi ş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ı
Alma arabelleği boyutu.
-
callback
işlev
callbackparametresi ş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 yuvası üzerinden TLS istemci bağlantısı başlatır.
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.
-
callback
işlev
callbackparametresi ş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.
-
veri
ArrayBuffer
Yazılacak veriler.
-
adres
dize
Uzak makinenin adresi.
-
bağlantı noktası
sayı
Uzak makinenin bağlantı noktası.
-
callback
işlev
callbackparametresi şu şekilde görünür:(writeInfo: WriteInfo) => void
-
writeInfo
-
setKeepAlive()
chrome.socket.setKeepAlive(
socketId: number,
enable: boolean,
delay?: number,
callback: function,
): void
TCP bağlantısı için canlı tutma işlevini etkinleştirir veya devre dışı bırakır.
Parametreler
-
socketId
sayı
socketId.
-
enable
boole
Doğru ise bağlantıyı canlı tutma işlevini etkinleştirir.
-
gecikme
number isteğe bağlı
Alınan son veri paketi ile ilk bağlantıyı canlı tutma sorgusu arasındaki gecikme süresini saniye cinsinden ayarlayın. Varsayılan değer 0'dır.
-
callback
işlev
callbackparametresi şu şekilde görünür:(result: boolean) => void
-
sonuç
boole
-
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, 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ı
socketId.
-
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ı
-
setMulticastTimeToLive()
chrome.socket.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
): void
Çok noktaya yayın grubuna gönderilen çok noktaya yayın paketlerinin geçerlilik süresini ayarlayın.
Bu yöntemi çağırmak için çoklu yayın izinleri gerekmez.
Parametreler
-
socketId
sayı
socketId.
-
ttl
sayı
Geçerlilik değeri.
-
callback
işlev
callbackparametresi ş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 değerini ayarlar veya temizler. TCP_NODELAY ayarlandığında Nagle algoritması devre dışı bırakılır.
Parametreler
-
socketId
sayı
socketId.
-
noDelay
boole
Doğru değerine ayarlanırsa Nagle algoritmasını devre dışı bırakır.
-
callback
işlev
callbackparametresi şu şekilde görünür:(result: boolean) => void
-
sonuç
boole
-
write()
chrome.socket.write(
socketId: number,
data: ArrayBuffer,
callback: function,
): void
Belirtilen bağlı sokete veri yazar.