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ılarak sockets.udp
, sockets.tcp
ve sockets.tcpServer
API'leri kullanılmaya başlanacaktır.
İzinler
socket
Türler
AcceptInfo
Özellikler
-
resultCode
sayı
-
socketId
sayı 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 değer genellikle "eth0", "lo" vb. olur.
-
prefixLength
sayı
Önek uzunluğu
ReadInfo
Özellikler
-
veri
DiziArabelleği
-
resultCode
sayı
Temel Read() çağrısından döndürülen resultCode.
RecvFromInfo
Özellikler
-
adres
dize
Uzak makinenin adresi.
-
veri
DiziArabelleği
-
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
prizde uzak eşin bağlantısı kesilse bile bu durum aynı kalır. Soketteki okuma veya yazma işlemleri hataya neden olabilir. Bu da söz konusu prizindisconnect()
üzerinden bağlantısının kesilmesi gerektiğini gösterir.udp
yuvalarında bu yalnızca okuma ve yazma paketleri için varsayılan bir uzak adresin belirtilip belirtilmediğini temsil eder. -
localAddress
dize isteğe bağlı
Temel soket bağlıysa veya bağlıysa yerel IPv4/6 adresini içerir.
-
localPort
sayı isteğe bağlı
Alttaki soket bağlıysa veya bağlıysa yerel bağlantı noktasını içerir.
-
peerAddress
dize isteğe bağlı
Temel yuva bağlıysa eşin IPv4/6 adresini içerir.
-
peerPort
sayı isteğe bağlı
Temel soket bağlıysa bağlı eşin bağlantı noktasını içerir.
-
socketType
İletilen yuvanın türü. Bu,
tcp
veyaudp
olacak.
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 ayarlanır.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 sunucu yuvasında bir bağlantı kabul edildiğinde çağrılacak bir geri çağırma işlevi kaydeder. Önce dinlet çağrılmalıdır. Zaten etkin bir geri çağırma varsa bu geri çağırma, resultCode hatasıyla 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,
)
Yuvanın yerel adresini bağlar. Şu anda TCP soketi desteklenmiyor.
Parametreler
-
socketId
sayı
socketId.
-
adres
dize
Yerel makinenin adresidir.
-
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
priz için). Bir udp
soketinde bu, read()
ve write()
çağrıları için hangi paketlerin gönderileceği ve okunacağı 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 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
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ümler 'nı inceleyin.Vaatler yalnızca Manifest V3 ve sonraki sürümler için desteklenir. Diğer platformların geri çağırma yapması gerekir.
destroy()
chrome.socket.destroy(
socketId: number,
)
Soketi tahrip eder. Oluşturulan her yuva kullanıldıktan sonra imha edilmelidir.
Parametreler
-
socketId
sayı
socketId.
disconnect()
chrome.socket.disconnect(
socketId: number,
)
Prizin bağlantısını keser. UDP soketleri için disconnect
bir işlem değildir, ancak güvenle çağrılabilir.
Parametreler
-
socketId
sayı
socketId.
getInfo()
chrome.socket.getInfo(
socketId: number,
callback?: function,
)
Belirli bir yuvanın 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ümler 'nı inceleyin.Vaatler yalnızca Manifest V3 ve sonraki sürümler için desteklenir. Diğer platformların geri çağırma yapması gerekir.
getJoinedGroups()
chrome.socket.getJoinedGroups(
socketId: number,
callback: function,
)
Yuvanın şu anda katıldığı çoklu yayın grup 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ılarla ilgili bilgileri 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ümler 'nı inceleyin.Vaatler yalnızca Manifest V3 ve sonraki sürümler için desteklenir. Diğer platformların geri çağırma yapması 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. Bu yöntem çağrılmadan önce, yuva UDP türünde olmalı ve yerel bir bağlantı noktasına bağlı olmalıdır.
Parametreler
-
socketId
sayı
socketId.
-
adres
dize
Katılınacak 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
kullanarak katılmış olan çoklu yayın grubundan ayrılın. Soketi bozmadan veya çıkış yapmadan önce çoklu yayın grubundan ayrılmanız gerekmez. Bu, işletim sistemi tarafından otomatik olarak çağrılır.
Ana makinede başka bir işlemin gruba katılmadığı varsayıldığında, gruptan ayrıldığınızda yönlendiricinin yerel ana makineye çoklu yayın veri birimleri göndermesi engellenir.
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 yuvaları için geçerlidir. Belirtilen bağlantı noktası ve adresteki bağlantıları dinler. Bu durum, onu sunucu yuvası haline getirir ve istemci yuvası işlevleri (bağlama, okuma, yazma) artık bu yuvada kullanılamaz.
Parametreler
-
socketId
sayı
socketId.
-
adres
dize
Yerel makinenin adresidir.
-
bağlantı noktası
sayı
Yerel makinenin bağlantı noktası.
-
iş listesi
sayı 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ı
socketId.
-
bufferSize
sayı 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ı
socketId.
-
bufferSize
sayı isteğe bağlı
Alıcı 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 yuvası ü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.
-
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ı
socketId.
-
veri
DiziArabelleği
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 canlı tutma işlevini etkinleştirir veya devre dışı bırakır.
Parametreler
-
socketId
sayı
socketId.
-
enable
boolean
Doğruysa canlı tutma işlevini etkinleştirin.
-
gecikme
sayı 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 tekrar döngüye alınıp alınmayacağını ayarlayın.
Not: setMulticastLoopbackMode
işletim sisteminin davranışı, Windows ve Unix benzeri sistemlerde biraz farklıdır. Tutarsızlık yalnızca, aynı ana makinede birden fazla uygulamanın aynı çoklu yayın grubuna katılıp çoklu yayın geri dönüş modunda farklı ayarlara sahip olması durumunda ortaya çıkar. Windows'da, geri döngünün devre dışı olduğu uygulamalar geri döngü paketlerini ALMAZ; Unix benzeri sistemlerde, geri döngü kapalı uygulamaları olan uygulamalar geri döngü paketlerini aynı ana bilgisayardaki diğer uygulamalara GÖNDERMEZ. MSDN'ye göz atın: http://goo.gl/6vqbj
Bu yöntemin çağrılması, çoklu yayın izinleri gerektirmez.
Parametreler
-
socketId
sayı
socketId.
-
etkin
boolean
Geri 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 geçerlilik süresini ayarlayın.
Bu yöntemin çağrılması, çoklu yayın izinleri gerektirmez.
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
öğesini ayarlar veya temizler. TCP_NODELAY
ayarlandığında Nagle'ın algoritması devre dışı bırakılır.
Parametreler
-
socketId
sayı
socketId.
-
noDelay
boolean
True (doğru) ise Nagle'ın 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ı yuvadaki verileri yazar.