You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: blog/2014-05-28-1.0.0.md
+11-10
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,13 @@
1
+
---
1
2
title: Introducing Socket.IO 1.0
2
-
permalink: /blog/introducing-socket-io-1-0/
3
-
date: 2014-05-28
4
-
author_name: Guillermo Rauch
5
-
author_link: https://twitter.com/rauchg
3
+
slug: /introducing-socket-io-1-0/
4
+
authors: rauchg
6
5
---
7
6
8
7
The first version of Socket.IO was created shortly after Node.JS made its first appearance. I had been looking for a framework that easily enabled me to push data from a server to a client for a long time, and even had tried other approaches to server-side JavaScript.
9
8
9
+
<!--truncate-->
10
+
10
11
At the time, the main focus was on an interface equivalent to the upcoming `WebSocket` API that was in the process of standardization. I was lucky to receive a lot of feedback from the community at the time (including Node.JS's creator) that helped shape the project into something significantly more useful.
11
12
12
13
Socket.IO has thus become the `EventEmitter` of the web. Today I want to talk about the work that has gone into 1.0 to round up this vision.
To test how useful it would be to support binary in this particular way (and as a virtualization geek), I decided to replicate the <ahref="http://en.wikipedia.org/wiki/Twitch_Plays_Pok%C3%A9mon">Twitch Plays Pokemon</a> experiment 100% in JavaScript. Using a <ahref="https://github.com/grantgalitz/GameBoy-Online">JavaScript gameboy emulator</a>, <ahref="http://github.com/automattic/node-canvas">node-canvas</a>, socket.io we came up with a server-rendered collaborative game that even works on IE8. Check it out on <ahref="http://weplay.io/">http://weplay.io</a> (<ahref="https://github.com/guille/weplay">source code here</a>).
80
+
To test how useful it would be to support binary in this particular way (and as a virtualization geek), I decided to replicate the <ahref="http://en.wikipedia.org/wiki/Twitch_Plays_Pok%C3%A9mon">Twitch Plays Pokemon</a> experiment 100% in JavaScript. Using a <ahref="https://github.com/grantgalitz/GameBoy-Online">JavaScript gameboy emulator</a>, <ahref="http://github.com/automattic/node-canvas">node-canvas</a>, socket.io we came up with a server-rendered collaborative game that even works on IE8. Check it out on https://weplay.io (<ahref="https://github.com/guille/weplay">source code here</a>).
The next experiment was to run an instance of <ahref="http://wiki.qemu.org/Main_Page">QEMU</a> running an image of Windows XP, in honor of <ahref="http://indianexpress.com/article/technology/technology-others/windows-xp-end-of-support-today/">its retirement</a>. Every player gets a 15 second turn to control the machine. Check out the demo on <ahref="http://socket.computer/">http://socket.computer</a>. Here's a video of your typical inception scenario:
93
+
The next experiment was to run an instance of <ahref="http://wiki.qemu.org/Main_Page">QEMU</a> running an image of Windows XP, in honor of <ahref="http://indianexpress.com/article/technology/technology-others/windows-xp-end-of-support-today/">its retirement</a>. Every player gets a 15 second turn to control the machine. Check out the demo on http://socket.computer. Here's a video of your typical inception scenario:
A key part of putting together this demo was connecting to the QEMU VNC server and implementing the RFB protocol. As it's usually the case with Node.JS, the solution was a `npm search rfb` away.
97
98
@@ -111,7 +112,7 @@ It then became clear to me that our support for binary data would be genuinely u
111
112
112
113
Just for fun, I also installed and ran one of my favorite first person shooters:
In this tutorial well learn how to create a chat client that communicates with a Socket.IO <ahref="https://github.com/socketio/socket.io/blob/master/examples/chat/index.js">Node.JS chat server</a>, with our <ahref="https://github.com/socketio/socket.io-client-java">native Android Client</a>! If you want to jump straight to the code, it's on <ahref="https://github.com/nkzawa/socket.io-android-chat">GitHub</a>. Otherwise, read on!
11
14
15
+
<!--truncate-->
16
+
12
17
## Introduction
13
18
14
19
To follow along, start by cloning the repository: <atitle="socket.io-android-chat"href="https://github.com/nkzawa/socket.io-android-chat"target="_blank">socket.io-android-chat</a>.
We are pleased to announce the immediate availability of the <ahref="https://github.com/socketio/socket.io-client-swift">Socket.IO Swift Client</a>! Youll now be able to write code that runs natively on **iOS** and **OSX**, while maintaining the simplicity and expressiveness of the JavaScript client!
11
16
17
+
<!--truncate-->
18
+
12
19
```swift
13
20
importFoundation
14
21
let socket =SocketIOClient(socketURL: "localhost:8880")
Copy file name to clipboardExpand all lines: blog/2015-04-13-socket-io-cpp.md
+15-10
Original file line number
Diff line number
Diff line change
@@ -1,18 +1,23 @@
1
+
---
1
2
title: Socket.IO C++
2
-
permalink: /blog/socket-io-cpp/
3
-
date: 2015-04-13
4
-
author_name: Melo Yao
5
-
author_link: https://twitter.com/melode111
3
+
slug: /socket-io-cpp/
4
+
authors:
5
+
- name: Melo Yao
6
+
title: Maintainer of the C++ client
7
+
url: https://twitter.com/melode111
8
+
image_url: https://github.com/melode11.png
6
9
---
7
10
8
11
I'm really proud to announce the first release of the <ahref="https://github.com/socketio/socket.io-client-cpp">Socket.IO C++ Client</a> on GitHub!
9
12
13
+
<!--truncate-->
14
+
10
15
Based on <ahref="http://www.boost.org/">Boost</a> and <ahref="https://github.com/zaphoyd/websocketpp">WebSocket++</a>, this full-featured Socket.IO 1.0 client has the fundamental advantage of working on **multiple platforms**. Check out the directory of <ahref="https://github.com/socketio/socket.io-client-cpp/tree/master/examples">examples</a>. It contains examples of iOS, QT, and CLI chat clients!
11
16
12
17
To learn how to use this client, I put together a QT chat example that communicates using a <ahref="https://github.com/Automattic/socket.io/tree/master/examples/chat">Socket.IO Node.JS chat server</a>. Keep reading for step-by-step instructions.
0 commit comments