c#中的SocketIoClientDotNet庫 可用與連結nodejs中的socket.io

dongmelon發表於2017-06-06
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using Quobject.SocketIoClientDotNet.Client;

namespace socket
{
    class Program
    {
        static void Main(string[] args)
        {

            var socket = IO.Socket("http://114.55.104.1:8090/");//例項化物件
            socket.On(Socket.EVENT_CONNECT, () =>       //監聽連結
            {
                Console.WriteLine("連結成功");
                socket.Emit("hi","ccdcd");     //傳送訊息,前面是事件後面是時間  注意:發訊息要保證連結是通的,如果連結不通就發資料,再連結上就發不出去
                socket.On("cd", (data) =>      //監聽事件
                {
		    var b=(JObject)data;  //將資料轉一下
		   Console.WriteLine(b['name']);
                    Console.WriteLine(data);
                    socket.Disconnect();      //退出連結

                });
            });
            socket.Connect();   //連結
            
		socket.On(Socket.EVENT_DISCONNECT,()=> {
                this.m_robot.OutLogMsg("退出聯網");
                conn_net = false;
                socket.Close();
            });                   //socket.close(); 方法只能在這裡disconnect 下 關閉其他如 reconnet等等不行       
		
            Console.ReadKey();

        }
    }
}


socket裡面 用 json 傳資料

                JObject a=new JObject();
                a.Add("name","liushuai");
                JArray arr = new JArray();
                arr.Add(new JValue(1));
                arr.Add(new JValue(2));
                a.Add('time',arr);
                socket.Emit("data",a);


 


參考地址:https://stackoverflow.com/questions/39135966/unable-to-use-socketioclientdotnet-with-external-server

                  https://stackoverflow.com/questions/32190867/socket-io-in-c-socketioclientdotnet-and-socketio4net-failed

相關文章