on May. 4. 2021
Socket.IO Client Library for Unity (mono / .NET 4.x, Unity 2019.4.2.f1 LTS)
socket.io-unity by floatinghotpot is a very good project, but it had some problems with me. For example in the use of Action or Func. Exactly I could not use UniRx.
Download on release page socket.io-unity.unitypackage and import into Unity.
It's a C# file from a DLL inside a unity project.
// unity c# code
using Socket.Quobject.SocketIoClientDotNet.Client;
using UnityEngine;
public class TestObject : MonoBehaviour {
private QSocket socket;
void Start () {
Debug.Log ("start");
socket = IO.Socket ("http://localhost:3000");
socket.On (QSocket.EVENT_CONNECT, () => {
Debug.Log ("Connected");
socket.Emit ("chat", "test");
});
socket.On ("chat", data => {
Debug.Log ("data : " + data);
});
}
private void OnDestroy () {
socket.Disconnect ();
}
}
// node js code
const app = require('express')();
const http = require('http').createServer(app);
const io = require('socket.io')(http);
app.get('/', (req, res) => {
res.sendFile(__dirname + '/index.html');
});
io.on('connection', (socket) => {
console.log('a user connected');
socket.on('chat message', (msg) => {
io.emit('chat message', msg);
});
socket.on('disconnect', () => {
console.log('user disconnected');
});
});
http.listen(3000, () => {
console.log('Connected at 3000');
});
This library supports all of the features the JS client does, including events, options and upgrading transport.
Mono
.NET 4.x
See floatinghotpot's demo document
Thanks to the authors of following projects:
npm module socket 2.0.4 reports a connection failure.
I used to use 1.7.4.
NHN is a South Korean IT conglomerate.
The development version of this project has been developed until relatively recently.
I needed more from NHN unity socket, so I used floatinghotpot, and the NHN unity socket client might be a better choice for you.
Try to use once.