Açıklama
TCP ve UDP bağlantılarını kullanarak ağ üzerinden veri gönderip almak için chrome.socket
API'yi kullanın. Not: Chrome 33'ten itibaren bu API kullanımdan kaldırılarak yerine sockets.udp
, sockets.tcp
ve sockets.tcpServer
API'leri kullanıma sunulacak.
İzinler
socket
Türler
AcceptInfo
Özellikler
-
resultCode
sayı
-
socketId
numara isteğe bağlı
Kabul edilen yuvanın kimliği.
CreateInfo
Özellikler
-
socketId
sayı
Yeni oluşturulan yuvanın kimliği.
CreateOptions
NetworkInterface
Özellikler
-
adres
dize
Kullanılabilir IPv4/6 adresi.
-
ad
dize
Bağdaştırıcının temel adı. *nix'te bu genellikle "eth0", "lo" vb. olur.
-
prefixLength
sayı
Ön ek 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
Alt yuvanın bağlı olup olmadığı.
tcp
soketler için bu, uzak eşin bağlantısı kesilse bile doğru kalır. Bu durumda, yuvaya okuma veya yazma işlemi hataya neden olabilir. Bu da, bu yuvanındisconnect()
aracılığıyla bağlantısının kesilmesi gerektiği imasında bulunur.udp
yuvaları için bu yalnızca paket okuma ve yazma için varsayılan bir uzak adres belirtilip belirtilmediğini gösterir. -
localAddress
string isteğe bağlı
Alttaki yuva bağlı veya bağlıysa yerel IPv4/6 adresini içerir.
-
localPort
numara isteğe bağlı
Alttaki yuva bağlı veya bağlıysa yerel bağlantı noktasını içerir.
-
peerAddress
string isteğe bağlı
Alt yuva bağlıysa eşin IPv4/6 adresini içerir.
-
peerPort
numara isteğe bağlı
Alttaki yuva bağlıysa bağlı eşin bağlantı noktasını içerir.
-
socketType
Geçirilen yuvanın türü. Bu
tcp
veyaudp
olacaktır.
SocketType
Enum
"tcp"
"udp"
TLSVersionConstraints
Özellikler
-
maks.
string isteğe bağlı
-
dak
string 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 hata kodu.
Yöntemler
accept()
chrome.socket.accept(
socketId: number,
callback: function,
)
Bu yöntem yalnızca TCP yuvaları için geçerlidir. Bu dinleme sunucusu soketinde bir bağlantı kabul edildiğinde çağrılacak bir geri çağırma işlevi kaydeder. Önce dinleme çağrılmalıdır. Zaten etkin bir geri çağırmayı kabul et özelliği varsa bu geri çağırma, resultCode değerine sahip bir hatayla hemen birlikte çağrılır.
Parametreler
-
socketId
sayı
Yuva kimliği.
-
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,
)
Yuva için yerel adresi bağlar. Şu anda TCP soketini desteklememektedir.
Parametreler
-
socketId
sayı
Yuva kimliği.
-
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
soket için). udp
soketi için bu, read()
ile write()
çağrılarında paketlerin gönderildiği ve okunduğu varsayılan adresi belirler.
Parametreler
-
socketId
sayı
Yuva kimliği.
-
hostname
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 yuva oluşturur.
Parametreler
-
tür
Oluşturulacak yuva türü.
tcp
veyaudp
olmalıdır. -
seçenekler
CreateOptions isteğe bağlı
Yuva seçenekleri.
-
geri çağırma
Functions (isteğe bağlı)
callback
parametresi şu şekilde görünür:(createInfo: CreateInfo) => void
-
createInfo
-
İlerlemeler
-
Promise<CreateInfo>
Chrome 121 ve sonraki sürümlerVaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.
destroy()
chrome.socket.destroy(
socketId: number,
)
Yuvayı yok eder. Oluşturulan her yuva kullanıldıktan sonra yok edilmelidir.
Parametreler
-
socketId
sayı
Yuva kimliği.
disconnect()
chrome.socket.disconnect(
socketId: number,
)
Prizin bağlantısını keser. UDP yuvaları için disconnect
çalışmaz ancak güvenli bir şekilde çağrı yapılabilir.
Parametreler
-
socketId
sayı
Yuva kimliği.
getInfo()
chrome.socket.getInfo(
socketId: number,
callback?: function,
)
Belirtilen yuvanın durumunu alır.
Parametreler
-
socketId
sayı
Yuva kimliği.
-
geri çağırma
Functions (isteğe bağlı)
callback
parametresi şu şekilde görünür:(result: SocketInfo) => void
-
sonuç
-
İlerlemeler
-
Promise<SocketInfo>
Chrome 121 ve sonraki sürümlerVaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.
getJoinedGroups()
chrome.socket.getJoinedGroups(
socketId: number,
callback: function,
)
Yuvanın şu anda bağlı olduğu çoklu yayın grup adreslerini alın.
Parametreler
-
socketId
sayı
Yuva kimliği.
-
geri çağırma
işlev
callback
parametresi şu şekilde görünür:(groups: string[]) => void
-
grup
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
Functions (isteğe bağlı)
callback
parametresi şu şekilde görünür:(result: NetworkInterface[]) => void
-
sonuç
-
İlerlemeler
-
Promise<NetworkInterface[]>
Chrome 121 ve sonraki sürümlerVaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları 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. Yuva UDP türünde olmalıdır ve bu yöntem çağrılmadan önce yerel bir bağlantı noktasına bağlanmalıdır.
Parametreler
-
socketId
sayı
Yuva kimliği.
-
adres
dize
Katılmak için 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 joinGroup
kullanılarak katılmış olan çoklu yayın grubundan ayrılın. Yuvayı bozmadan veya çıkmadan önce çoklu yayın grubundan ayrılmanız gerekmez. Bu, işletim sistemi tarafından otomatik olarak çağrılır.
Gruptan çıkmak, ana makinede hâlâ gruba katılmış başka bir işlemin olmadığı varsayıldığında yönlendiricinin yerel ana makineye çoklu yayın veri birimi göndermesi engellenir.
Parametreler
-
socketId
sayı
Yuva kimliği.
-
adres
dize
Ayrılacak 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 yuvaları için geçerlidir. Belirtilen bağlantı noktası ve adresteki bağlantıları dinler. Bu durum, etkin bir şekilde bu ürünü bir sunucu soketi haline getirir ve istemci yuva işlevleri (bağlama, okuma, yazma) artık bu yuvada kullanılamaz.
Parametreler
-
socketId
sayı
Yuva kimliği.
-
adres
dize
Yerel makinenin adresi.
-
bağlantı noktası
sayı
Yerel makinenin bağlantı noktası.
-
iş listesi
numara isteğe bağlı
Yuvanın 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ı yuvadaki verileri okur.
Parametreler
-
socketId
sayı
Yuva kimliği.
-
bufferSize
numara isteğe bağlı
Okuma arabelleği 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 soketinden veri alır.
Parametreler
-
socketId
sayı
Yuva kimliği.
-
bufferSize
numara 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ı kısıtlamaları ve parametreleri.
-
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 soketindeki verileri belirtilen adrese ve bağlantı noktasına gönderir.
Parametreler
-
socketId
sayı
Yuva kimliği.
-
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 keep-alive işlevini etkinleştirir veya devre dışı bırakır.
Parametreler
-
socketId
sayı
Yuva kimliği.
-
enable
boolean
Doğru değerine ayarlanırsa canlı tutma işlevini etkinleştirin.
-
delay
numara isteğe bağlı
Alınan son veri paketi ile ilk keepalive kontrolü arasındaki saniye cinsinden gecikme süresini 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ülüp döndürülmeyeceğini belirler.
Not: setMulticastLoopbackMode
davranışı, Windows ve Unix benzeri sistemler arasında biraz farklıdır. Tutarsızlık, yalnızca aynı ana makinede aynı çoklu yayın grubuna katılan ve çoklu yayın geri döngü modunda farklı ayarlara sahip birden fazla uygulama olduğunda ortaya çıkar. Windows'da, geri dönüş özelliği kapalı olan uygulamalar, geri dönüş paketlerini ALMAZ. Unix benzeri sistemlerde, geri döngü kapalı olan uygulamalar ise geri dönüş 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ı
Yuva kimliği.
-
etkin
boolean
Geri dönüş 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 geçerlilik süresini belirleyin.
Bu yöntemi çağırmak için çoklu yayın izinleri gerekmez.
Parametreler
-
socketId
sayı
Yuva kimliği.
-
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 belirler veya temizler. TCP_NODELAY
ayarlandığında Nagle'ın algoritması devre dışı bırakılır.
Parametreler
-
socketId
sayı
Yuva kimliği.
-
noDelay
boolean
True (doğru) değerine ayarlanırsa Nagle'ın algoritması devre dışı bırakılı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ı yuvaya veri yazar.