c#中的SocketIoClientDotNet库 可用与链接nodejs中的socket.io

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

你可能感兴趣的:(c#,c#,socket)