Ana içeriğe geç

İstemci Kurulumu

bilgi

Son sürüm şu anda 4.8.1, Ekim 2024'te yayımlandı.
Sürüm notlarını buradan bulabilirsiniz.

Sürüm uyumluluğu

Sunucu ve JS istemcisi arasındaki uyumluluk tablosu aşağıda yer almaktadır:

    JS İstemci sürümü
Socket.IO sunucu sürümü


1.x
2.x
3.x
4.x


1.x
EVET
HAYIR
HAYIR
HAYIR


2.x
HAYIR
EVET
EVET1
EVET1


3.x
HAYIR
HAYIR
EVET
EVET


4.x
HAYIR
HAYIR
EVET
EVET

[1] Evet, allowEIO3: true ile

İlgili geçiş kılavuzlarını kontrol ediniz:

  • v2'den v3'e
  • v3'ten v4'e

Tarayıcı desteği

Socket.IO, IE9 ve üzerini desteklemektedir. IE 6/7/8 artık desteklenmemektedir.

Tarayıcı uyumluluğu, harika Sauce Labs platformu sayesinde test edilmektedir:

Kurulum

Bağımsız yapı

Varsayılan olarak, Socket.IO sunucusu /socket.io/socket.io.js adresinde bir istemci paketi sunmaktadır.

io global bir değişken olarak kaydedilecektir:

<script src="/socket.io/socket.io.js"></script>
<script>
const socket = io();
</script>

Buna ihtiyacınız yoksa (aşağıdaki diğer seçeneklere bakın), sunucu tarafında bu işlevselliği devre dışı bırakabilirsiniz:

const { Server } = require("socket.io");

const io = new Server({
serveClient: false
});

CDN'den

Ayrıca istemci paketini bir CDN'den de dahil edebilirsiniz:

<script src="https://cdn.socket.io/4.8.1/socket.io.min.js" integrity="sha384-mkQ3/7FUtcGyoppY6bz/PORYoGqOl7/aSUMn2ymDOJcapfS6PHqxhRTMh1RR0Q6+" crossorigin="anonymous"></script>

Socket.IO ayrıca diğer CDN'lerde de mevcuttur:

Birçok paket mevcuttur:

AdıBoyutAçıklama
socket.io.js34.7 kB gzipMinimize edilmemiş versiyon, debug ile
socket.io.min.js14.7 kB min+gzipÜretim versiyonu, debug olmadan
socket.io.msgpack.min.js15.3 kB min+gzipÜretim versiyonu, debug olmadan ve msgpack parser ile

debug paketi konsola hata ayıklama bilgileri yazdırmanızı sağlar. Daha fazla bilgiye buradan ulaşabilirsiniz.

Geliştirme sırasında, socket.io.js paketini kullanmanızı öneririz. localStorage.debug = 'socket.io-client:socket' ayarı ile, istemci tarafından alınan her olay konsola yazdırılacaktır.

Üretim için, hata ayıklama paketini hariç tutan optimize edilmiş bir yapı olan socket.io.min.js paketini kullanmanız önemlidir.

NPM'den

Socket.IO istemcisi, webpack veya browserify gibi paketleyicilerle uyumludur.

npm install socket.io-client
yarn add socket.io-client
pnpm add socket.io-client

İstemci ayrıca Node.js üzerinden de çalıştırılabilir.

not

Not: Yukarıda belirtilen nedenlerden dolayı, hata ayıklamayı tarayıcı paketinizden hariç tutmak isteyebilirsiniz. Webpack ile, webpack-remove-debug kullanabilirsiniz.

not

TypeScript kullanıcıları için not: türler artık socket.io-client paketine dahil edilmiştir, bu nedenle @types/socket.io-client türlerine ihtiyaç yoktur ve aslında hatalara neden olabilir:

Nesne literali yalnızca bilinen özellikleri belirtebilir ve 'extraHeaders' 'ConnectOpts' türünde mevcut değildir.

Çeşitli

Bağımlılık ağaçları

Bir istemcinin temel kurulumu 9 paketi içermektedir; bunlardan 5'i ekibimiz tarafından sağlanmaktadır:

└─┬ socket.io-client@4.7.2
├── @socket.io/component-emitter@3.1.0
├─┬ debug@4.3.4
│ └── ms@2.1.2
├─┬ engine.io-client@6.5.2
│ ├── @socket.io/component-emitter@3.1.0 deduped
│ ├── debug@4.3.4 deduped
│ ├── engine.io-parser@5.2.1
│ ├─┬ ws@8.11.0
│ │ ├── UNMET OPTIONAL DEPENDENCY bufferutil@^4.0.1
│ │ └── UNMET OPTIONAL DEPENDENCY utf-8-validate@^5.0.2
│ └── xmlhttprequest-ssl@2.0.0
└─┬ socket.io-parser@4.2.4
├── @socket.io/component-emitter@3.1.0 deduped
└── debug@4.3.4 deduped

Geçişli sürümler

engine.io-client paketi, düşük seviyeli bağlantıları (HTTP uzun bekletme veya WebSocket) yönetmekten sorumlu olan motoru getirir. Ayrıca bakınız: Nasıl çalışır

socket.io-client sürümüengine.io-client sürümüws sürümü1
4.8.x6.6.x8.17.x
4.7.x6.5.x8.17.x
4.6.x6.4.x8.11.x
4.5.x6.2.x8.2.x
4.4.x6.1.x8.2.x
4.3.x6.0.x8.2.x
4.2.x5.2.x7.4.x
4.1.x5.1.x7.4.x
4.0.x5.0.x7.4.x
3.1.x4.1.x7.4.x
3.0.x4.0.x7.4.x
2.5.x3.5.x7.5.x
2.4.x3.5.x7.5.x

[1] yalnızca Node.js kullanıcıları için. Tarayıcıda, yerel WebSocket API'si kullanılır.