Skip to content

Instantly share code, notes, and snippets.

@jewelsjacobs
Forked from heartgamer/SimpleChat.cs
Last active July 18, 2018 20:52
Show Gist options
  • Save jewelsjacobs/081e7b3afe927444f9d162fa73ef6484 to your computer and use it in GitHub Desktop.
Save jewelsjacobs/081e7b3afe927444f9d162fa73ef6484 to your computer and use it in GitHub Desktop.
[HTTP socket.io Example For Unity] BEST HTTP socket.io example. #unity3D #hololens #vr #ar
using UnityEngine;
using System.Collections;
using System;
using BestHTTP;
using BestHTTP.SocketIO;
public class SimpleChat : MonoBehaviour {
public UILabel lblChatMessages;
//public string strName;
//public string strRoom;
SocketManager manager;
public void ConnectToChat()
{
SocketOptions options = new SocketOptions();
options.AutoConnect = false;
manager = new SocketManager(new Uri("http://localhost:4000/socket.io/"), options);
//Socket sockChat = manager.GetSocket("/socket.io");
//manager.Socket.On(SocketIOEventTypes.Error, (socket, packet, args) => Debug.LogError(string.Format("Error: {0}", args[0].ToString())));
manager.Socket.On(SocketIOEventTypes.Connect, OnServerConnect);
manager.Socket.On(SocketIOEventTypes.Disconnect, OnServerDisconnect);
manager.Socket.On(SocketIOEventTypes.Error, OnError);
manager.Socket.On("reconnect", OnReconnect);
manager.Socket.On("reconnecting", OnReconnecting);
manager.Socket.On("reconnect_attempt", OnReconnectAttempt);
manager.Socket.On("reconnect_failed", OnReconnectFailed);
manager.Socket.On("chat message", OnChatMessage);
manager.Open();
}
public void SendChatMessage()
{
manager.Socket.Emit("chat message", "hello!!!");
}
public void SendTimerMessage()
{
manager.Socket.Emit("timer", "12321312");
}
void OnChatMessage(Socket socket, Packet packet, params object[] args)
{
Debug.Log("OnChatMessage : " + args[0].ToString() );
}
void Awake()
{
}
void Start()
{
//ConnectToChat();
}
void OnDestroy()
{
manager.Close();
}
void OnServerConnect(Socket socket, Packet packet, params object[] args)
{
Debug.Log("Connected");
}
void OnServerDisconnect(Socket socket, Packet packet, params object[] args)
{
Debug.Log("Disconnected");
}
void OnError(Socket socket, Packet packet, params object[] args)
{
Error error = args[0] as Error;
switch(error.Code)
{
case SocketIOErrors.User:
Debug.LogWarning("Exception in an event handler!");
break;
case SocketIOErrors.Internal:
Debug.LogWarning("Internal error!");
break;
default:
Debug.LogWarning("server error!");
break;
}
}
void OnReconnect(Socket socket, Packet packet, params object[] args)
{
Debug.Log("Reconnected");
}
void OnReconnecting(Socket socket, Packet packet, params object[] args)
{
Debug.Log("Reconnecting");
}
void OnReconnectAttempt(Socket socket, Packet packet, params object[] args)
{
Debug.Log("ReconnectAttempt");
}
void OnReconnectFailed(Socket socket, Packet packet, params object[] args)
{
Debug.Log("ReconnectFailed");
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment