Socket.IO 2.0.0

Socket.IO 2.0.0 is finally here! This major release brings several performance improvements:

  • uws is now the default Websocket engine. It should bring significant improvement in performance (particularly in terms of memory consumption) (release note of Engine.IO)
  • the Engine.IO and Socket.IO handshake packets were merged, reducing the number of roundtrips necessary to establish a connection. (#2833)
  • it is now possible to provide a custom parser according to the needs of your application (#2829). Please take a look at the example for more information.

Please note that this release is not backward-compatible, due to:

  • a breaking change related to utf-8 encoding in engine.io-parser
  • an update to make the socket id on the client match the id on the server-side (#1058)

Related packages were updated accordingly:

  • socket.io-redis version 5.x
  • socket.io-emitter version 3.x

Get the latest client from the CDN:

<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.0.1/socket.io.js"></script>

Socket.IO 1.4.5

We just published some quick fixes!

  • Fixed socket.io-client usage with NativeScript.
  • Fixed graceful close of the attached http Server of socket.io and engine.io.

Get the latest client from the CDN:

<script src="https://cdn.socket.io/socket.io-1.4.5.js"></script>

Socket.IO 1.4.4

We just published to fixes for socket.io-client:

  • Building with browserify or webpack is now completely straightforward. No need to exclude/ignore or noParse/externals the ws module.
  • Improved the JSONP transport when socket.io-client or engine.io-client are lazily evaluated or the <script> tag that included them gets removed.

Get the latest client from the CDN:

<script src="https://cdn.socket.io/socket.io-1.4.4.js"></script>

Socket.IO 1.4.1, 1.4.2 and 1.4.3

We published three minor releases right after 1.4.0 addressing build issues in different environments.

<script src="https://cdn.socket.io/socket.io-1.4.3.js"></script>

Socket.IO 1.4.0

Socket.IO 1.4.0 ship with new features like automatic compression for XHR and WebSockets, lots of bug fixes and significant performance and memory improvements.

Compression is enabled by default, as it’s highly beneficial for most application payloads. The following example shows the savings for a realtime stream of tweets.

Read more

Socket.IO 1.3.7

Socket.IO 1.3.7 includes support for io.js and Node.JS 4.0.0.

<script src="https://cdn.socket.io/socket.io-1.3.7.js"></script>

Socket.IO 1.3.6

Socket.IO 1.3.6 addresses a build issue with the ws module on Windows.

<script src="https://cdn.socket.io/socket.io-1.3.6.js"></script>

Socket.IO P2P

Today were very happy to introduce Socket.IO P2P, the easiest way to establish a bidirectional events channel between two peers with a server fallback to provide maximum reliability.

Lets look at the API and build a little chat application. Or check out the repository directly!

Read more

Socket.IO C++

Im really proud to announce the first release of the Socket.IO C++ Client on GitHub!

Based on Boost and WebSocket++, this full-featured Socket.IO 1.0 client has the fundamental advantage of working on multiple platforms. Check out the directory of examples. It contains examples of iOS, QT, and CLI chat clients!

To learn how to use this client, I put together a QT chat example that communicates using a Socket.IO Node.JS chat server. Keep reading for step-by-step instructions.

Read more

Socket.IO on iOS

We are pleased to announce the immediate availability of the Socket.IO Swift Client! Youll now be able to write code that runs natively on iOS and OSX, while maintaining the simplicity and expressiveness of the JavaScript client!

import Foundation
let socket = SocketIOClient(socketURL: "localhost:8880")
socket.on("important message") {data, ack in
    println("Message for you! \(data?[0])")
    ack?("I got your message, and I'll send my response")
    socket.emit("response", "Hello!")
}
socket.connect()

To show how you can use it in a real project, Ill show you how to create a small Tic Tac Toe app like the one shown above.

Read more

Socket.IO 1.3.5

Socket.IO 1.3.5 addresses a parser issue. Upgrade recommended. Completely backwards-compatible.

<script src="https://cdn.socket.io/socket.io-1.3.5.js"></script>

Socket.IO 1.3.4

Socket.IO 1.3.4 corrects the 1.3.3 build that included extra unused code.

<script src="https://cdn.socket.io/socket.io-1.3.4.js"></script>

Socket.IO 1.3.3

Socket.IO 1.3.3 is a backwards-compatible recommended upgrade for everyone.

  • It addresses a bug in the parser that could break the decoder with maliciously-crafted binary packets.
  • We now warn about errors in the console if you dont manually specify an error event handler for Socket objects on the server.

As usual, you can grab the latest client from the CDN!

<script src="https://cdn.socket.io/socket.io-1.3.3.js"></script>