Emit() public method

Asynchronously sends payload using eventName

payload must a string or Json Serializable

Mimicks Socket.IO client 'socket.emit('name',payload);' pattern

Do not use the reserved socket.io event names: connect, disconnect, open, close, error, retry, reconnect

public Emit ( string eventName, Object payload ) : void
eventName string
payload Object must be a string or a Json Serializable object
return void
コード例 #1
18
        void direct_Example()
        {
            var directSocket = new Client("http://127.0.0.1:3000/logger"); // url to the nodejs
            directSocket.Connect();
            directSocket.On("connect", (fn) =>
            {
                Console.WriteLine("\r\nConnected event...\r\n");
            });

            directSocket.On("traceEvent", (eventLog) =>
                {
                    // do something with eventLog
                });

            directSocket.Emit("messageAck", new { hello = "papa" });
        }
コード例 #2
0
    public void ListLobby()
    {
        Debug.Log("listlobby");

        Dictionary <string, string> args = new Dictionary <string, string>();

        _socket.Emit("listlobby", args);
    }
コード例 #3
0
    void Start()
    {
        Debug.Log("Attempting to connect to server...");
        System.Net.WebRequest.DefaultWebProxy = null;

        string url = "http://45.56.101.79:80/";

        Debug.Log("Server url: " + url);

        socket = new SocketIOClient.Client(url);

        socket.On("connect", (fn) =>
        {
            Debug.Log("connect - socket");
            Dictionary <string, string> args = new Dictionary <string, string>();
            args.Add("msg", "what's up?");
            socket.Emit("SEND", args);
        });

        socket.On("RECV", (data) =>
        {
            Debug.Log(data.Json.ToJsonString());
        });

        socket.Error += (sender, e) =>
        {
            Debug.Log("socket Error: " + e.Message.ToString());
        };

        socket.Connect();
    }
コード例 #4
0
ファイル: Display.cs プロジェクト: t-yng/ImHere
        /* 状態の変更をサーバに通知 */
        private void NotifyUpdateState(int state)
        {
            // TODO: ユーザ固有の情報を送信
            int user_id = 1;

            websocket.Emit("c2s_update_state", new { user_id = user_id, state = state });
        }
コード例 #5
0
        public void createConnect()
        {
            //socketIO = new Client("http://168.63.151.29:3000");

            socketIO = new Client("http://test.twtstudio.com:3000/");
            socketIO.Message += socketIO_Message;
            socketIO.SocketConnectionClosed += socketIO_SocketConnectionClosed;
            socketIO.Error += socketIO_Error;

            socketIO.On("connect", (message) =>
            {
                Debug.WriteLine("on connect called!!!");
                JObject jo = new JObject();
                jo["username"] = "******";
                socketIO.Emit("join", jo);
            });


            socketIO.On("chat", async (message) =>
            {
                Debug.WriteLine("start listening");
                Debug.WriteLine(message.Json.ToJsonString());
                await SampleDispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
                {
                    JObject o = (JObject)JsonConvert.DeserializeObject(message.Json.ToJsonString());
                    JArray jb = (JArray)JsonConvert.DeserializeObject(o["args"].ToString());
                    JObject ob = (JObject)jb[0];

                    if (ob["roomNum"].ToString().Equals(Self.roomNum.ToString()))
                        ChangedEventHandler(ob["username"]+":"+ob["chat"]);
                });
            });

            socketIO.ConnectAsync();
        }
コード例 #6
0
ファイル: Program.cs プロジェクト: bmegias/SocketIOClient
        static void Main(string[] args)
        {
            Console.WriteLine("Starting TestSocketIOClient Example...");

            var socket = new Client("http://192.168.80.1:3000/"); // url to nodejs
            socket.Opened += (a, b) => { Console.WriteLine("Opened"); };
            socket.Message += (a, b) => { Console.WriteLine("Message"); };
            socket.SocketConnectionClosed +=  (a, b) => { Console.WriteLine("SocketConnectionClosed"); };
            socket.Error +=  (a, b) => { Console.WriteLine("Error"); };

            // register for 'connect' event with io server
            socket.On("connect", (fn) =>
            {
                Console.WriteLine("socket.On(connect)");
                // emit Json Serializable object, anonymous types, or strings
                var msg = new Message() { body = "Hello world!" };
                socket.Emit("msg", msg);
            });

            // register for 'update' events - message is a json 'Part' object
            socket.On("msg", (data) =>
            {
                //Console.WriteLine("recv [socket].[update] event");
                //Console.WriteLine("  raw message:      {0}", data.RawMessage);
                //Console.WriteLine("  string message:   {0}", data.MessageText);
                //Console.WriteLine("  json data string: {0}", data.Json.ToJsonString());
                //Console.WriteLine("  json raw:         {0}", data.Json.Args[0]);

                // cast message as Part - use type cast helper
                var msg = data.Json.GetFirstArgAs<Message>();
                Console.WriteLine(">> {0}", msg.body);
            });

            // make the socket.io connection
            socket.Connect();

            while (true) {
                Console.Write("> ");
                var txt = Console.ReadLine();
                var msg = new Message { body = txt };

                socket.Emit("msg", msg);
            }
        }
コード例 #7
0
        //Awake is always called before any Start functions
        void Awake()
        {
            Debug.Log("start");
            sended = 0;
            // socket = new SocketIOClient.Client ("http://127.0.0.1:3000/");
            socket = new SocketIOClient.Client("https://unity-server.herokuapp.com/");

            socket.On("connect", (fn) => {
                Debug.Log("connect - socket");

                Dictionary <string, string> args = new Dictionary <string, string>();
                args.Add("scene", "game_start");
                socket.Emit("emit", args);
            });

            //socket.Send("nuwaaa");


            socket.On("message:receive", (data) => {
                Debug.Log(data.Json.ToJsonString());
                //text = data.Json.ToJsonString() + "\n" + text;
            });

            socket.Connect();

            //Check if instance already exists
            if (instance == null)
            {
                //if not, set instance to this
                instance = this;
            }

            //If instance already exists and it's not this:
            else if (instance != this)
            {
                //Then destroy this. This enforces our singleton pattern, meaning there can only ever be one instance of a GameManager.
                Destroy(gameObject);
            }

            //Sets this to not be destroyed when reloading scene
            DontDestroyOnLoad(gameObject);

            //Assign enemies to a new List of Enemy objects.
            enemies = new List <Enemy>();

            //Get a component reference to the attached BoardManager script
            boardScript = GetComponent <BoardManager>();

            //Call the InitGame function to initialize the first level
            InitGame();
        }
コード例 #8
0
 void OnGUI()
 {
     if (GUI.Button(new Rect(20, 70, 150, 30), "SEND"))
     {
         Debug.Log("Sending");
         Dictionary <string, string> args = new Dictionary <string, string>();
         args.Add("msg", "hello!");
         socket.Emit("SEND", args);
     }
     if (GUI.Button(new Rect(20, 120, 150, 30), "Close Connection"))
     {
         Debug.Log("Closing");
         socket.Close();
     }
 }
コード例 #9
0
    void Start()
    {
        socket = new SocketIOClient.Client("http://127.0.0.1:80/");
        socket.On("connect", (fn) => {
            Debug.Log ("connect - socket");

            Dictionary<string, string> args = new Dictionary<string, string>();
            args.Add("msg", "what's up?");
            socket.Emit("SEND", args);
        });
        socket.On("RECV", (data) => {
            Debug.Log (data.Json.ToJsonString());
        });
        socket.Connect();
    }
コード例 #10
0
		public void Execute()
		{
			Console.WriteLine("Starting TestSocketIOClient Example...");

			socket = new Client("http://127.0.0.1:3000/"); // url to the nodejs / socket.io instance

			socket.Opened += SocketOpened;
			socket.Message += SocketMessage;
			socket.SocketConnectionClosed += SocketConnectionClosed;
			socket.Error += SocketError;
			
			socket.HandShake.Headers.Add("OrganizationId", "1034");
			socket.HandShake.Headers.Add("UserId", "TestSample");

			// register for 'connect' event with io server
			socket.On("connect", (fn) =>
			{
				Console.WriteLine("\r\nConnected event...\r\n");
				Console.WriteLine("Emit Part object");

				// emit Json Serializable object, anonymous types, or strings
				//Part newPart = new Part() { X = 1, Y = 2, Z = 3 };
                //socket.Emit("JSONSkeleton", newPart);

			    JSONSkeleton newPart = new JSONSkeleton();
                socket.Emit("partInfo", newPart.ToJsonString());

			});

			
			// register for 'update' events - message is a json 'Part' object
			socket.On("update", (data) =>
			{
				Console.WriteLine("recv [socket].[update] event");
				//Console.WriteLine("  raw message:      {0}", data.RawMessage);
				//Console.WriteLine("  string message:   {0}", data.MessageText);
				//Console.WriteLine("  json data string: {0}", data.Json.ToJsonString());
				//Console.WriteLine("  json raw:         {0}", data.Json.Args[0]);

				// cast message as Part - use type cast helper
				Part part = data.Json.GetFirstArgAs<Part>();
				//Console.WriteLine(" Part Level:   {0}\r\n", part.Level);

			});

			// make the socket.io connection
			socket.Connect();
		}
コード例 #11
0
        private void connectBt_Click(object sender, RoutedEventArgs e)
        {
            socketIO = new Client(serverUrl.Text);
            socketIO.Message += socketIO_Message;
            socketIO.SocketConnectionClosed += socketIO_SocketConnectionClosed;
            socketIO.Error += socketIO_Error;

            socketIO.On("connect", (message) =>
            {
                Debug.WriteLine("on connect called!!!");
                JObject jo = new JObject();
                jo["publisher"] = "username";
                jo["password"] = "******";
                socketIO.Emit("hConnect", jo);
            });
            socketIO.ConnectAsync();
        }
コード例 #12
0
    void Start()
    {
        socket = new SocketIOClient.Client("http://127.0.0.1:80/");
        socket.On("connect", (fn) => {
            Debug.Log("connect - socket");

            Dictionary <string, string> args = new Dictionary <string, string>();
            args.Add("msg", "what's up?");
            socket.Emit("SEND", args);
        });
        socket.On("RECV", (data) => {
            Debug.Log(data.Json.ToJsonString());
        });
        socket.Error += (sender, e) => {
            Debug.Log("socket Error: " + e.Message.ToString());
        };
        socket.Connect();
    }
コード例 #13
0
ファイル: Jungsuk.cs プロジェクト: albertahn/minibeast
    // Use this for initialization
    void Start()
    {
        socket = new SocketIOClient.Client("http://127.0.0.1:3000/");

        socket.On("connect", (fn) => {
            //Debug.Log ("connect - socket");

            //Dictionary<string, string> args = new Dictionary<string, string>();
            //args.Add("send message", "what's up?");

            socket.Emit("send message", "yo new albert socket in town");

            //socket.Emit("send message", "yo new socket in town");

            socket.Message += SocketMessage;
        });



        socket.Connect();
    }
コード例 #14
0
        //GameOver is called when the player reaches 0 food points
        public void GameOver()
        {
            //Set levelText to display number of levels passed and game over message
            levelText.text = "After " + level + " days, you starved.";

            //Enable black background image gameObject.
            levelImage.SetActive(true);

            //Disable this GameManager.
            enabled = false;

            if (sended == 0)
            {
                Dictionary <string, string> args = new Dictionary <string, string>();
                args.Add("scene", "game_over");
                args.Add("level", level.ToString());
                socket.Emit("emit", args);
            }
            ++sended;
            print("dead");
        }
コード例 #15
0
        public void Start(string nodeServerUrl)
        {
            if (log.IsDebugEnabled) { log.Debug("Start"); }

            Console.WriteLine("Starting SocketIoProxy...");
            socket = new Client(nodeServerUrl); // url to the nodejs / socket.io instance

            socket.Opened += socket_Opened;
            socket.Message += socket_OnMessage;
            socket.SocketConnectionClosed +=socket_SocketConnectionClosed;
            socket.Error += socket_Error;

            socket.On("connect", (data) =>
            {
                if (log.IsDebugEnabled) { log.Debug("Start.Connect.data." + (data == null ? "null" : data.JsonEncodedMessage.ToJsonString())); }

                Console.WriteLine("\r\nSocketIoProxy.connect: {0}", data.JsonEncodedMessage.ToJsonString());
            });

            socket.On("clientEventInternal", (data) =>
            {
                ClientEvent clientEvent = null;

                if (data != null &&
                    data.JsonEncodedMessage != null &&
                    data.JsonEncodedMessage.Args != null &&
                    data.JsonEncodedMessage.Args.Length > 0)
                {
                    try
                    {
                        clientEvent = ClientEvent.FromJsonString(data.JsonEncodedMessage.Args[0].ToString());
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
                }

                if (clientEvent != null &&
                    clientEvent.ClientData != null)
                {
                    //if it's a connect event, then create the client
                    if (!string.IsNullOrEmpty(clientEvent.ClientData.EventName) &&
                        clientEvent.ClientData.EventName.ToLower() == "connect")
                    {
                        if (log.IsDebugEnabled) { log.Debug("Start.clientEventInternal.connect.clientEvent." + (clientEvent == null ? "null" : clientEvent.ToJsonString())); }

                        Business.Entity.Client.CreateFromClientEvent(clientEvent, Business.Entity.Client.ClientStateEnum.Available);
                        //socket.Emit("clientRequestInternal", new { SessionNodeId = clientEvent.SessionNodeId, Color = "Blue" });
                    }
                    else
                    {
                        if (log.IsDebugEnabled) { log.Debug("Start.clientEventInternal." + clientEvent.ClientData.EventName + ".clientEvent." + (clientEvent == null ? "null" : clientEvent.ToJsonString())); }
                    }
                }
                else
                {
                    if (log.IsDebugEnabled) { log.Debug("Start.clientEventInternal.UnableToDeserialize.data." + (data == null ? "null" : data.JsonEncodedMessage.ToJsonString())); }

                    Console.WriteLine("\r\nSocketIoProxy.clientEvent (unable to deserialize): {0}", data.JsonEncodedMessage.ToJsonString());
                }
            });

            socket.On("clientResponseInternal", (data) =>
            {
                ClientResponse clientResponse = null;

                if (data != null &&
                    data.JsonEncodedMessage != null &&
                    data.JsonEncodedMessage.Args != null &&
                    data.JsonEncodedMessage.Args.Length > 0)
                {
                    try
                    {
                        clientResponse = ClientResponse.FromJsonString(data.JsonEncodedMessage.Args[0].ToString());
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
                }

                if (clientResponse != null &&
                    clientResponse.ClientData != null)
                {
                    if (log.IsDebugEnabled) { log.Debug("Start.clientResponseInternal.HandleResponse.clientResponse." + (clientResponse == null ? "null" : clientResponse.ToJsonString())); }

                    clientResponse.HandleResponse();
                    //socket.Emit("clientRequestInternal", new { SessionNodeId = clientEvent.SessionNodeId, Color = "Blue" });
                }
                else
                {
                    if (log.IsDebugEnabled) { log.Debug("Start.clientResponseInternal.UnableToDeserialize.data." + (data == null ? "null" : data.JsonEncodedMessage.ToJsonString())); }

                    Console.WriteLine("\r\nSocketIoProxy.clientResponse (unable to deserialize): {0}", data.JsonEncodedMessage.ToJsonString());
                }
            });

            socket.On("serverRequestInternal", (data) =>
            {
                Console.WriteLine("\r\nSocketIoProxy.serverRequest: {0}", data.JsonEncodedMessage.ToJsonString());

                ClientEvent clientEvent = null;

                if (data != null &&
                    data.JsonEncodedMessage != null &&
                    data.JsonEncodedMessage.Args != null &&
                    data.JsonEncodedMessage.Args.Length > 0)
                {
                    try
                    {
                        clientEvent = ClientEvent.FromJsonString(data.JsonEncodedMessage.Args[0].ToString());
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
                }

                if (clientEvent != null)
                {
                    if (log.IsDebugEnabled) { log.Debug("Start.serverRequestInternal.EmitServerRequest.clientEvent." + (clientEvent == null ? "null" : clientEvent.ToJsonString())); }

                    socket.Emit("serverRequest", new { SessionNodeId = clientEvent.SessionNodeId, Color = "Red" });
                }
                else
                {
                    if (log.IsDebugEnabled) { log.Debug("Start.serverRequestInternal.UnableToDeserialize.data." + (data == null ? "null" : data.JsonEncodedMessage.ToJsonString())); }
                }
            });

            socket.Connect();
        }
コード例 #16
0
        static void connectSocket()
        {
            try
            {
                socket = new Client(ConfigParam.Rows[0]["Host"].ToString());
                socket.Error += socket_Error;
                socket.Opened += socket_Opened;
                socket.ConnectionRetryAttempt += socket_ConnectionRetryAttempt;
                socket.SocketConnectionClosed += socket_SocketConnectionClosed;
                myForm.Socket = socket;
                socket.On("welcome", (message) =>
                {
                    //MessageBox.Show(data.RawMessage);
                    String msg = message.Json.Args[0].ToString();
                    dynamic json = JObject.Parse(msg);
                    Console.Write(json.message);
                    myForm.ConsoleWriteLine(json.message.ToString());

                    dynamic respon = JObject.Parse("{AppID: '" + ConfigParam.Rows[0]["AppID"].ToString() + "'}");

                    socket.Emit("regAppID", respon);
                    //MessageBox.Show(msg, "Received Data");
                });

                socket.On("time", (data) =>
                {
                    //MessageBox.Show(data.RawMessage);
                    String msg = data.Json.Args[0].ToString();
                    dynamic json = JObject.Parse(msg);

                    Console.Write(json.time);
                    myForm.ConsoleWriteLine(json.time.ToString());
                    socket.Emit("i am client", "{data: '" + msg + "'}");
                    //MessageBox.Show(msg, "Received Data");
                });

                socket.On("dMessage", (data) =>
                {
                    //MessageBox.Show(data.RawMessage);
                    String msg = data.Json.Args[0].ToString();
                    dynamic json = JObject.Parse(msg);

                    myForm.ConsoleWriteLine(json.message.ToString());
                    //socket.Emit("i am client", "{data: '" + msg + "'}");
                    //MessageBox.Show(msg, "Received Data");
                });

                socket.On("request_transaction", (data) =>
                {
                    String msg = data.Json.Args[0].ToString();
                    dynamic json = JObject.Parse(msg);
                    myForm.ConsoleWriteLine("Get transaction on date : " + json.date.ToString());
                    ExecuteCommand("", "request_transaction", "");
                });

                socket.On("fdCommand", (data) =>
                {
                    String msg = data.Json.Args[0].ToString();
                    dynamic json = JObject.Parse(msg);

                    myForm.ConsoleWriteLine("command : " + json.command.ToString() + " ; parameter : " + json.parameter.ToString());

                    //dynamic parameter = JObject.Parse(json.parameter.ToString());
                    //myForm.ConsoleWriteLine("device : " + parameter.device.ToString());

                    //Store command to command datatable
                    AddCommandLine(json.commandID.ToString(), json.command.ToString(), json.parameter.ToString(), "not_exec");
                    ExecuteCommand(json.commandID.ToString(), json.command.ToString(), json.parameter.ToString());


                    /*dynamic responJson = new JObject();
                    responJson.commandID = "";
                    responJson.appID = myForm.getAppID();
                    responJson.respons = json.command.ToString();

                    

                    socket.Emit("fdCommandRespons", responJson);*/
                });

                socket.Connect();

            }
            catch (Exception e)
            {
                MessageBox.Show(e.ToString(), "Something Went Wrong!!");
                Application.Exit();
            }

            if (socket.ReadyState == WebSocket4Net.WebSocketState.None)
            {
                socket.Dispose();
                socket.Error -= socket_Error;
                socket.Opened -= socket_Opened;
                socket.ConnectionRetryAttempt -= socket_ConnectionRetryAttempt;
                socket.SocketConnectionClosed -= socket_SocketConnectionClosed;
                myForm.Socket.Dispose();
                myForm.Socket = null;
                socket = null;
                
                connectSocket();
            } 
        }
コード例 #17
0
ファイル: teSocket.cs プロジェクト: pabloppp/timeDance
 public void emit(string channel, string message)
 {
     socket.Emit(channel, message);
 }
コード例 #18
0
    private void CreateSocket()
    {
        socket = new SocketIOClient.Client("http://127.0.0.1:3000/");
        socket.On("connect", (fn) => {
            Debug.Log("connect - socket");

            Dictionary <string, string> args = new Dictionary <string, string>();
            args.Add("pseudo", "toto");
            args.Add("password", "tata");
            socket.Emit("authentication", args);
            socket.On("unauthorized", (data) => {
                Debug.Log("unauthorized");
                socket.Close();
            });
            socket.On("authenticated", (data) => {
                Debug.Log("authenticated");
                socket.On("result", (result) =>
                {
                    Debug.Log("command result = " + result);
                });
                socket.On("lobbylist", (result) =>
                {
                    Debug.Log("lobby list = " + result.Json.ToJsonString());
                });
                socket.On("lobbycreated", (result) =>
                {
                    Debug.Log("lobby created // " + result.Json.ToJsonString() + "//");
                });
                socket.On("lobbyjoined", (result) =>
                {
                    Debug.Log("lobby joined // " + result.Json.ToJsonString() + "//");
                });
                socket.On("lobbyleft", (result) =>
                {
                    Debug.Log("lobby left");
                });
                socket.On("readyset", (result) =>
                {
                    Debug.Log("readyset");
                });
                socket.On("goingame", (result) =>
                {
                    Debug.Log("goingame");
                });
                socket.On("unreadyset", (result) =>
                {
                    Debug.Log("unreadyset");
                });
                socket.On("cantunready", (result) =>
                {
                    Debug.Log("cantunready");
                });
                socket.On("countdown", (result) =>
                {
                    Debug.Log("countdown");
                });
                socket.On("playerjoined", (result) =>
                {
                    Debug.Log("playerjoined");
                });
                socket.On("playerleft", (result) =>
                {
                    Debug.Log("playerleft");
                });
                socket.On("opponentreadyup", (result) =>
                {
                    Debug.Log("opponentreadyup");
                });
                socket.On("opponentunready", (result) =>
                {
                    Debug.Log("opponentunready");
                });
                socket.On("update", (result) =>
                {
                    Debug.Log("update");
                });
                socket.On("gameover", (result) =>
                {
                    Debug.Log("gameover");
                });
                socket.On("result", (result) =>
                {
                    Debug.Log("result");
                });
            });
        });

        socket.Error += (sender, e) => {
            Debug.Log("socket Error: " + e.Message.ToString());
        };
    }
コード例 #19
0
    public void OnGUI()
    {
        //label for position

        GUILayout.Label("position: " + positionData);


        GUILayout.Label("relx: " + relx);

        GUILayout.Label("relz: " + relz);

        GUILayout.Label("myusername:  "******"SEND messageer"))
        {
            //Debug.Log ("Sending");
            Dictionary <string, string> args = new Dictionary <string, string>();
            args.Add("msg", "hello!");
            socket.Emit("send message", args);
        }

        if (GUI.Button(new Rect(320, 170, 150, 30), "get all users on socket"))
        {
            //Debug.Log ("Sending");
            Dictionary <string, string> args = new Dictionary <string, string>();
            args.Add("msg", "hello!");
            socket.Emit("getallppl", args);
        }

        if (GUI.Button(new Rect(520, 170, 150, 30), "sendpos"))
        {
            //Debug.Log ("Sending");
            Dictionary <string, string> args = new Dictionary <string, string>();
            args.Add("0.22", "0.222");
            socket.Emit("sendpos", args);
        }


        PlayerUsername = GUI.TextArea(new Rect(20, 20, 200, 50), PlayerUsername, 100);

        if (GUI.Button(new Rect(120, 70, 150, 30), "SEND adduser name"))
        {
//			Dictionary<string, string> args = new Dictionary<string, string>();

            socket.Emit("adduser", PlayerUsername);


            PlayerPrefs.SetString("username", PlayerUsername);
        }

        if (GUI.Button(new Rect(120, 120, 150, 30), "Close Connection"))
        {
            //Debug.Log ("Closing");

            socket.Close();
        }


//spawn player
        if (GUI.Button(new Rect(220, 120, 150, 30), "spawnplayer"))
        {
            Vector3 pos = new Vector3(20.0f, 0.0f, 20.0f);
            //Instantiate(prefabPlayer, pos, Quaternion.identity);

            Instantiate(prefabPlayer, pos, Quaternion.identity);
        }
    }    //end gui
コード例 #20
0
ファイル: frmMain.cs プロジェクト: tomhaigh/rockpool-jukebox
        private void InitSocket()
        {
            _socket = new Client(txtServerUrl.Text.Trim());

              _socket.Message += (s, a) =>
              {

              };
              _socket.On("player:requestRemotePlay", fn =>
            {

              var trackId = new Regex(@"^spotify:track:", RegexOptions.IgnoreCase).Replace(fn.Json.Args[0].item.url.ToString(), "");
              Spotify.SpotifyHelpers.PlaySong(trackId);
              _currentId = trackId;
              Console.WriteLine("player:requestRemotePlay");
              _counter = 0;

            });

              _socket.On("player:remoteItemStopped", fn =>
            {

              Console.WriteLine("player:remoteItemStopped");

              if (!String.IsNullOrEmpty(_currentId))
              {
            Spotify.SpotifyHelpers.StopPlayback();
            _currentId = null;
            //this.tmrUpdateStatus.Stop();
              }

            });

              Action join = () =>
              {

            _socket.Emit("stream:join", new { stream = txtStreamID.Text.Trim() });
              };
              //join();

            //  _socket.On("reconnect", a => join());

              _socket.Opened += (s, e) => join();
              _socket.Connect();
        }
コード例 #21
0
    void OnGUI()
    {
        lobbyname = GUI.TextField(new Rect(180, 30, 250, 30), lobbyname, 40);
        pseudo    = GUI.TextField(new Rect(700, 30, 200, 30), pseudo, 40);;
        pass      = GUI.TextField(new Rect(700, 70, 200, 30), pass, 40);;

        if (GUI.Button(new Rect(20, 70, 150, 30), "listlobby"))
        {
            Debug.Log("listlobby");

            Dictionary <string, string> args = new Dictionary <string, string>();
            socket.Emit("listlobby", args);
        }

        if (GUI.Button(new Rect(180, 70, 150, 30), "createlobby"))
        {
            Debug.Log("createlobby");

            Dictionary <string, string> args = new Dictionary <string, string>();
            if (string.IsNullOrEmpty(lobbyname))
            {
                args.Add("lobbyName", "Test");
            }
            else
            {
                args.Add("lobbyName", lobbyname);
            }
            socket.Emit("createlobby", args);
        }

        if (GUI.Button(new Rect(340, 70, 150, 30), "joinlobby"))
        {
            Debug.Log("joinlobby");

            Dictionary <string, string> args = new Dictionary <string, string>();
            if (string.IsNullOrEmpty(lobbyname))
            {
                args.Add("lobbyName", "Test");
            }
            else
            {
                args.Add("lobbyName", lobbyname);
            }
            socket.Emit("joinlobby", args);
        }

        if (GUI.Button(new Rect(20, 120, 150, 30), "Open Connection"))
        {
            Debug.Log("Opening");
            CreateSocket();
            socket.Connect();
        }

        if (GUI.Button(new Rect(180, 120, 150, 30), "Close Connection"))
        {
            Debug.Log("Closing");

            socket.Close();
        }

        if (GUI.Button(new Rect(340, 120, 150, 30), "leave lobby"))
        {
            Debug.Log("leaving");
            Dictionary <string, string> args = new Dictionary <string, string>();
            socket.Emit("leavelobby", args);
        }

        if (GUI.Button(new Rect(700, 120, 150, 30), "Create user"))
        {
            StartCoroutine(UserCreationRequest());
        }
    }
コード例 #22
0
    private void CreateSocket(string name, string password)
    {
        _socket = new SocketIOClient.Client("http://" + _baseAddress + "/ ");
        _socket.On("connect", (fn) =>
        {
            Debug.Log("connect - socket");

            Dictionary <string, string> args = new Dictionary <string, string>();
            args.Add("pseudo", name);
            args.Add("password", password);
            _socket.Emit("authentication", args);
            _socket.On("unauthorized", (data) =>
            {
                Debug.Log("unauthorized");
                if (Unauthorized != null)
                {
                    Unauthorized(JSON.Parse(data.Encoded));
                }
                _socket.Close();
            });
            _socket.On("authenticated", (data) =>
            {
                Debug.Log("authenticated");
                if (Authenticated != null)
                {
                    Authenticated(JSONNode.Parse(data.Encoded));
                }

                _socket.On("lobbylist", (result) =>
                {
                    if (LobbyList != null)
                    {
                        JSONNode resultjson    = JSONNode.Parse(result.Encoded);
                        JSONArray arguments    = resultjson["args"].AsArray;
                        JSONArray actualresult = arguments[0].AsArray;
                        LobbyList(actualresult);
                    }
                });
                _socket.On("lobbycreated", (result) =>
                {
                    if (LobbyCreated != null)
                    {
                        LobbyCreated(JSONNode.Parse(result.Encoded));
                    }
                });
                _socket.On("lobbyfull", (result) =>
                {
                    if (LobbyFull != null)
                    {
                        LobbyFull(JSONNode.Parse(result.Encoded));
                    }
                });
                _socket.On("lobbyjoined", (result) =>
                {
                    if (LobbyJoined != null)
                    {
                        JSONNode resultjson = JSONNode.Parse(result.Encoded)["args"][0];
                        LobbyJoined(resultjson);
                    }
                });
                _socket.On("lobbyleft", (result) =>
                {
                    if (LobbyLeft != null)
                    {
                        LobbyLeft(JSONNode.Parse(result.Encoded));
                    }
                });
                _socket.On("readyset", (result) =>
                {
                    if (ReadySet != null)
                    {
                        JSONNode resultjson = JSONNode.Parse(result.Encoded)["args"][0];
                        ReadySet(resultjson);
                    }
                });
                _socket.On("goingame", (result) =>
                {
                    if (GoInGame != null)
                    {
                        GoInGame(JSONNode.Parse(result.Encoded)["args"][0]);
                    }
                });
                _socket.On("unreadyset", (result) =>
                {
                    if (UnReadySet != null)
                    {
                        UnReadySet(JSONNode.Parse(result.Encoded)["args"][0]);
                    }
                });
                _socket.On("cantunready", (result) =>
                {
                    if (CantUnready != null)
                    {
                        CantUnready(JSONNode.Parse(result.Encoded)["args"][0]);
                    }
                });
                _socket.On("countdown", (result) =>
                {
                    if (Countdown != null)
                    {
                        Countdown(JSONNode.Parse(result.Encoded)["args"][0]);
                    }
                });
                _socket.On("playerjoined", (result) =>
                {
                    if (PlayerJoined != null)
                    {
                        PlayerJoined(JSONNode.Parse(result.Encoded)["args"][0]);
                    }
                });
                _socket.On("playerleft", (result) =>
                {
                    if (PlayerLeft != null)
                    {
                        PlayerLeft(JSONNode.Parse(result.Encoded)["args"][0]);
                    }
                });
                _socket.On("opponentreadyup", (result) =>
                {
                    if (OpponentReadyUp != null)
                    {
                        OpponentReadyUp(JSONNode.Parse(result.Encoded)["args"][0]);
                    }
                });
                _socket.On("opponentunready", (result) =>
                {
                    if (OpponentUnready != null)
                    {
                        OpponentUnready(JSONNode.Parse(result.Encoded)["args"][0]);
                    }
                });
                _socket.On("update", (result) =>
                {
                    if (Update != null)
                    {
                        Update(JSONNode.Parse(result.Encoded)["args"][0]);
                    }
                });
                _socket.On("gameover", (result) =>
                {
                    if (Gameover != null)
                    {
                        Gameover(JSONNode.Parse(result.Encoded)["args"][0]);
                    }
                });
                _socket.On("result", (result) =>
                {
                    if (Result != null)
                    {
                        Result(JSONNode.Parse(result.Encoded)["args"][0]);
                    }
                });
            });
        });

        _socket.Error += (sender, e) => {
            Debug.Log("socket Error: " + e.Message.ToString());
            if (Error != null)
            {
                Error(e.Message.ToString());
            }
        };
    }
コード例 #23
0
ファイル: Program.cs プロジェクト: tomhaigh/rockpool-jukebox
        static void Main(string[] args)
        {
            if (args.Length != 2)
              {
            Console.WriteLine("Please specify a stream id and base url");
            Console.WriteLine(@"e.g. SpotifyLauncher.exe 5089133484bdc27d64000001 ""http://wordpress.rockpool.local:8046""");
            return;
              }

              string streamId = args[0];
              string url = args[1];

              var socket = new Client(url);

              socket.On("player:requestRemotePlay", fn =>
              {
            Console.WriteLine("player:requestRemotePlay");
            if (fn.Json.Args.Length == 0
            || fn.Json.Args[0].item == null
            || fn.Json.Args[0].item.url == null)
            {
              return;
            }

            string urlParam = fn.Json.Args[0].item.url.ToString();
            var trackId = _reTrack.Replace(urlParam, "");

            lock (_sync)
            {
              Spotify.SpotifyHelpers.PlaySong(trackId);
              _currentId = trackId;
              _counter = 0;
              _timer.Start();
            }
              });

              socket.On("player:requestRemoteStop", fn =>
              {
            Console.WriteLine("player:requestRemoteStop");
            lock (_sync)
            {
              if (!String.IsNullOrEmpty(_currentId))
              {
            Spotify.SpotifyHelpers.StopPlayback();
            _currentId = null;
            _timer.Stop();
              }
            }
              });

              socket.Opened += (s, e) => socket.Emit("stream:join", new { stream = streamId });
              socket.Connect();

              _timer = new System.Timers.Timer(200);
              _timer.Elapsed += (s, e) =>
              {
            if (_counter++ < 4)
            {
              return;
            }

            if (_currentId != null)
            {
              lock (_sync)
              {
            if (_currentId != null)
            {
              var status = Spotify.SpotifyHelpers.GetStatus();
             // Console.WriteLine("{0},{1},{2}", status.Track, status.TrackID, _currentId);

              if (String.IsNullOrEmpty(status.TrackID) || !status.TrackID.EndsWith(_currentId))
              {
                //Console.WriteLine("stop detected");
                _timer.Stop();
                Spotify.SpotifyHelpers.StopPlayback();
                socket.Emit("player:remoteItemStopped", new { stream = streamId });
                _currentId = null;
                Console.WriteLine("player:remoteItemStopped");
              }
            }
              }
            }
              };

              while (Console.ReadKey().KeyChar != 'q') ;
        }
コード例 #24
0
ファイル: ServerCom.cs プロジェクト: fordream/Conquistador
        public void Execute()
        {
            Console.WriteLine("Starting TestSocketIOClient Example...");

            //socket = new Client("http://192.168.1.2:8080"); // url to the nodejs / socket.io instance
            //socket = new Client("http://127.0.0.1:8080");
            socket = new Client(Utils.LocalIPAddress());

            socket.Opened += SocketOpened;
            socket.Message += SocketMessage;
            socket.SocketConnectionClosed += SocketConnectionClosed;
            socket.Error += SocketError;

            //MESSAGE _ _ BINDINGS

            // register for 'connect' event with io server
            socket.On("connect", (fn) =>
            {
                Console.WriteLine("\r\nConnected event...\r\n");
                //Console.WriteLine("Emit Part object");

                // emit Json Serializable object, anonymous types, or strings
                //Part newPart = new Part() { PartNumber = "K4P2G324EC", Code = "DDR2", Level = 1 };
                //socket.Emit("partInfo", newPart);

            });

            socket.On("question", (fn) =>
            {
                Console.WriteLine("received question");
                if (questionCB != null)
                {
                    questionCB(fn);
                }
            });

            socket.On("playerMoveAsked", (fn) =>
            {
                Console.WriteLine("\nreceived playerMoveAsked");
                if (playerMoveCB != null)
                {
                    playerMoveCB(fn);
                }
            });

            socket.On("battleResult", (fn) =>
            {
                Console.WriteLine("received battleResult");
                if (battleResultCB != null)
                {
                    battleResultCB(fn);
                }
            });

            socket.On("questionAnswered", (fn) =>
            {
                Console.WriteLine("\nreceived answers to question\n");
                if (answersReceivedCB != null)
                {
                    answersReceivedCB(fn);
                }
            });

            socket.On("requestIdentity", (mes) =>
            {
                Console.WriteLine("\r\nrequest ID event...\r\n");
                socket.Emit("tableIdentity", new { pseudo = "fack yah !" });

            });

            socket.On("results", (mes) =>
            {
                Console.WriteLine("\n results received \n");

                if (resultCB != null)
                {
                    resultCB(mes);
                }

            });

            socket.On("newPlayer", playerConnectCB);

            socket.On("majPlayerInfo", (data) =>
                {
                    Console.WriteLine("received MajPlayerInfo");
                    if (majPlayerInfoCB != null)
                    {
                        majPlayerInfoCB(data);
                    }
                });

            socket.On("captureTerritories", (data) =>
            {
                Console.WriteLine("received captureTerritories");
                if (captureZonesCB != null)
                {
                    captureZonesCB(data);
                }
            });

            socket.On("placeCommanders", (data) =>
            {
                Console.WriteLine("received place commanders");
                if (placeCommandersCB != null)
                {
                    placeCommandersCB(data);
                }
            });

            // register for 'update' events - message is a json 'Part' object
            socket.On("update", (data) =>
            {
                Console.WriteLine("recv [socket].[update] event");
                //Console.WriteLine("  raw message:      {0}", data.RawMessage);
                //Console.WriteLine("  string message:   {0}", data.MessageText);
                //Console.WriteLine("  json data string: {0}", data.Json.ToJsonString());
                //Console.WriteLine("  json raw:         {0}", data.Json.Args[0]);

                // cast message as Part - use type cast helper
                //Part part = data.Json.GetFirstArgAs<Part>();
                //Console.WriteLine(" Part Level:   {0}\r\n", part.Level);

            });

            // make the socket.io connection
            socket.Connect();
        }
コード例 #25
0
ファイル: Program.cs プロジェクト: Shuffle-Game/ShuffleSlam
 private static void emit(Client cli, string chan, object obj, string gameServer)
 {
     cli.Emit("Gateway.Message", new { channel = chan, content = obj, gameServer=gameServer });
 }
コード例 #26
0
ファイル: EventClient.cs プロジェクト: papagenoo/xamarintut
        //class Part { PartNumber = "K4P2G324EC", Code = "DDR2", Level = 1 };
        public void Execute()
        {
            Console.WriteLine("Starting TestSocketIOClient Example...");

            var headers = new NameValueCollection
            {
                {
                    "Cookie",
                    "SID=7fmir6ps5ksdt9fo1dr76c7to7"
                }
            };

            //socket = new Client("http://prestashop:8081"); // url to nodejs
            socket = new Client("https://wsbeta.tradernet.ru:443", WebSocket4Net.WebSocketVersion.Rfc6455, headers); // url to nodejs
            //http://prestashop:8081/
            socket.Opened += SocketOpened;
            socket.Message += SocketMessage;
            socket.SocketConnectionClosed += SocketConnectionClosed;
            socket.Error += SocketError;
            socket.Connect();

            //			socket.On("q", (data) =>
            //			{
            //				Console.WriteLine(">q", data.RawMessage);
            //				Console.WriteLine(">q", data.Json.ToJsonString());
            //			});
            //
            //			socket.On("sup_updateTransactions", (data) =>
            //				{
            //					Console.WriteLine(">sup_updateTransactions", data.RawMessage);
            //					Console.WriteLine(">sup_updateTransactions", data.Json.ToJsonString());
            //				});
            //
            //			socket.On("server_message", (data) =>
            //				{
            //					Console.WriteLine("server_message", data);
            //					Console.WriteLine(data);
            //					Console.WriteLine("  raw message:      {0}", data.RawMessage);
            //					Console.WriteLine("  string message:   {0}", data.MessageText);
            //					Console.WriteLine("  json data string: {0}", data.Json.ToJsonString());
            //        			//Part part = data.Json.GetFirstArgAs<Part>();
            //					//Console.WriteLine(" Part Level:   {0}\r\n", part.Level);
            //
            //				});

            // register for 'connect' event with io server
            //			socket.On("connect", (fn) =>
            //				{
            //					Console.WriteLine("Connected event...");
            //					Console.WriteLine("Emit Part object");
            //
            //					// emit Json Serializable object, anonymous types, or strings
            ////					Part newPart = new Part()
            ////					{
            ////						PartNumber = "K4P2G324EC",
            ////						Code = "DDR2",
            ////						Level = 1
            ////					};
            //					//socket.Emit("partInfo", newPart);
            //					//socket.Emit("message", new int[] { 372134,371014,157050,371012,371033 });
            //					socket.Emit("sup_subscribeTransactions", new int[] { 372134,371014,157050,371012,371033 });
            //					socket.Emit("sup_updateSecurities2", new string[] { "RIH4","SIH4","SRH4","EUH4","BRG4","SBER","RTKM","EDH4","GZH4","GAZPM","GDH4","LKOH","GMKN","ROSN","PLZL","BRF4","GUH4","OMC.US","TXN.US","TYC.US","MAR.US","NKE.US","CTSH.US","CHK.US","GD.US","CHRW.US","KMX.US","RU000A0JQC49","RU000A0JQC56","RU000A0JR0A9","RU000A0JSG43","RU000A0JS546","RU000A0JRHL1","RU000A0JREU9","RU000A0JQYZ8","RU000A0JQZ00","RU000A0JTCM6","RU000A0JUBD5","SU25076RMFS9","SU26207RMFS9","RU000A0JRG44","RU000A0JTX33","SU25077RMFS7","RU000A0JS8R5","RU000A0JU179","RU000A0JU963","SU26212RMFS9","GAZPM","SBER","MGNT","LKOH","GMKN","ROSN","VTBR","URKA","SNGSP","SBERP","RIM4","ESM14.US","UXM4" });
            //
            //				});

            //			socket.Emit("message", new int[] { 372134,371014,157050,371012,371033 });
            //			socket.Emit("sup_subscribeTransactions", new int[] { 372134,371014,157050,371012,371033 });
            //			socket.Emit("sup_updateSecurities2", new string[] { "RIH4","SIH4","SRH4","EUH4","BRG4","SBER","RTKM","EDH4","GZH4","GAZPM","GDH4","LKOH","GMKN","ROSN","PLZL","BRF4","GUH4","OMC.US","TXN.US","TYC.US","MAR.US","NKE.US","CTSH.US","CHK.US","GD.US","CHRW.US","KMX.US","RU000A0JQC49","RU000A0JQC56","RU000A0JR0A9","RU000A0JSG43","RU000A0JS546","RU000A0JRHL1","RU000A0JREU9","RU000A0JQYZ8","RU000A0JQZ00","RU000A0JTCM6","RU000A0JUBD5","SU25076RMFS9","SU26207RMFS9","RU000A0JRG44","RU000A0JTX33","SU25077RMFS7","RU000A0JS8R5","RU000A0JU179","RU000A0JU963","SU26212RMFS9","GAZPM","SBER","MGNT","LKOH","GMKN","ROSN","VTBR","URKA","SNGSP","SBERP","RIM4","ESM14.US","UXM4" });

            // register for 'update' events - message is a json 'Part' object
            //			socket.On("update", (data) =>
            //				{
            //					Console.WriteLine("recv [socket].[update] event");
            //					//Console.WriteLine("  raw message:      {0}", data.RawMessage);
            //					//Console.WriteLine("  string message:   {0}", data.MessageText);
            //					//Console.WriteLine("  json data string: {0}", data.Json.ToJsonString());
            //					//Console.WriteLine("  json raw:         {0}", data.Json.Args[0]);
            //
            //					// cast message as Part - use type cast helper
            //					Part part = data.Json.GetFirstArgAs<Part>();
            //					Console.WriteLine(" Part Level:   {0}\r\n", part.Level);
            //				});

            // make the socket.io connection

            var logger = socket.Connect("/sup"); // connect to the logger ns
            socket.Message += SocketMessage;

            logger.On("sup_updateTransactions", (data) =>
                {
                    Console.WriteLine("t: {0}", data.RawMessage);
                    //Console.WriteLine(">sup_updateTransactions", data.Json.ToJsonString());
                });
            logger.On("q", (data) =>
                {
                    QuotesUpdateEvent quotesUpdate = data.Json.GetFirstArgAs<QuotesUpdateEvent>();
                    //Console.WriteLine("q: {0}", data.MessageText);
                    Console.WriteLine(">q: {0}", quotesUpdate);
                });

            socket.On("connect", (fn) =>
                {
                    Console.WriteLine("\r\nConnected event...\r\n");
                    Console.WriteLine("Emit Part object");

                    // emit Json Serializable object, anonymous types, or strings
                    //					Part newPart = new Part()
                    //					{
                    //						PartNumber = "K4P2G324EC",
                    //						Code = "DDR2",
                    //						Level = 1
                    //					};
                    //socket.Emit("partInfo", newPart);
                    //socket.Emit("message", new int[] { 372134,371014,157050,371012,371033 });
                    socket.Emit("sup_subscribeTransactions", new int[] { 372134,371014,157050,371012,371033 });
                });

            logger.Emit("sup_subscribeTransactions", new int[] { 372134,371014,157050,371012,371033 });
            logger.Emit("sup_updateSecurities2", new string[] { "RIH4","SIH4","SRH4","EUH4","BRG4","SBER","RTKM","EDH4","GZH4","GAZPM","GDH4","LKOH","GMKN","ROSN","PLZL","BRF4","GUH4","OMC.US","TXN.US","TYC.US","MAR.US","NKE.US","CTSH.US","CHK.US","GD.US","CHRW.US","KMX.US","RU000A0JQC49","RU000A0JQC56","RU000A0JR0A9","RU000A0JSG43","RU000A0JS546","RU000A0JRHL1","RU000A0JREU9","RU000A0JQYZ8","RU000A0JQZ00","RU000A0JTCM6","RU000A0JUBD5","SU25076RMFS9","SU26207RMFS9","RU000A0JRG44","RU000A0JTX33","SU25077RMFS7","RU000A0JS8R5","RU000A0JU179","RU000A0JU963","SU26212RMFS9","GAZPM","SBER","MGNT","LKOH","GMKN","ROSN","VTBR","URKA","SNGSP","SBERP","RIM4","ESM14.US","UXM4" });
        }
コード例 #27
0
ファイル: Program.cs プロジェクト: Shuffle-Game/ShuffleSlam
        private static void Target(object parameters)
        {
            var options = (ThreadParams)parameters;
            Random rand = new Random(options.Seed);

            if (options.State == ThreadState.CreateGame)
            {
                Thread.Sleep(rand.Next(0, 500));
            }

            if (options.State == ThreadState.JoinGame)
            {
                Thread.Sleep(rand.Next(1500, 2500));
            }

            Console.WriteLine(string.Format("Begin {0}", options.State));
            string ip=null;

            WebClient client = new WebClient();
            ip = client.DownloadString("http://50.116.22.241:8844");

            var socket = new Client(ip); // url to nodejs
            socket.Opened += SocketOpened;
            socket.Message += SocketMessage;
            socket.SocketConnectionClosed += SocketConnectionClosed;
            socket.Error += SocketError;
            string gameServer=null;
            string roomID = null;
            // register for 'connect' event with io server

            Dictionary<string, Action<dynamic>> dct = new Dictionary<string, Action<dynamic>>();

            socket.On("Client.Message", (fn) =>
                                            {
                                                var cn = fn.Json.Args[0].channel.Value;
                                                var cnt = fn.Json.Args[0].content;

                                                dct[cn](cnt);

                                            });

            dct.Add("Area.Game.AskQuestion", (fn) =>
            {
                Thread.Sleep(rand.Next(300, 800));
                Console.WriteLine("asked: " + "  " + options.UserName);
                if (socket == null) return;
                try
                {
                    emit(socket, "Area.Game.AnswerQuestion", new { answer = 1, roomID }, gameServer);
                }catch(Exception)
                {
                    Console.WriteLine("failed for some reason");
                }
            });

            dct.Add("Area.Game.UpdateState", (fn) =>
            {

            });

            dct.Add("Area.Game.RoomInfo", (fn) =>
                                                {
                                                    roomID = fn.roomID.ToString();
                                                    gameServer = fn.gameServer;
                                                });

            bool gameover = false;
            dct.Add("Area.Game.GameOver", (fn) =>
                                              {
                                                  socket.Close();
                                                  socket.Dispose();
                                                  gameover = true;

                                              });
            dct.Add("Area.Game.RoomInfos", (data) =>
                                                 {

                                                     foreach (var room in data.Children())
                                                     {
                                                         var plys = 0;
                                                         foreach (var child in room["players"].Children())
                                                         {
                                                             plys++;
                                                         }
                                                         if (room["started"].Value)
                                                         {
                                                             continue;
                                                         }
                                                         gameServer = room["gameServer"].Value;
                                                         switch (options.State)
                                                         {
                                                             case ThreadState.JoinGame:
                                                                 roomID = room["roomID"].Value;
                                                                 emit(socket, "Area.Game.Join", new { user = new { userName = options.UserName }, roomID = room["roomID"].Value }, gameServer);

                                                                 if (plys + 1 >= options.MaxUsers)
                                                                 {
                                                                     Thread.Sleep(rand.Next(750, 1250));
                                                                     emit(socket, "Area.Game.Start", new { roomID = room["roomID"].Value }, gameServer);
                                                                     return;
                                                                 }
                                                                 return;
                                                                 break;
                                                             default:
                                                                 throw new ArgumentOutOfRangeException();
                                                         }
                                                     }

                                                     Thread.Sleep(rand.Next(600, 900));
                                                     emit(socket, "Area.Game.GetGames", true, gameServer);
                                                 });
            dct.Add("Area.Game.Started", (fn) =>
            {

            });

            // make the socket.io connection
            socket.Connect();

            socket.Emit("Gateway.Login", new {userName = options.UserName + " " + Guid.NewGuid().ToString()});

            switch (options.State)
            {
                case ThreadState.JoinGame:
                    emit(socket, "Area.Game.GetGames", true, gameServer);
                    break;
                case ThreadState.CreateGame:
                    Console.WriteLine( "Created");

                    emit(socket, "Area.Game.Create", new { gameName = "Sevens", name = "game " + Guid.NewGuid().ToString()  , user = new { name = options.UserName } }, gameServer);

                    break;
                default:
                    throw new ArgumentOutOfRangeException();
            }
            while (!gameover)
            {
                Thread.Sleep(1000);
            }
        }
コード例 #28
0
        void explicit_Example()
        {
            var socket = new Client("http://127.0.0.1:3000/"); // url to the nodejs
            socket.Connect();
            socket.Connect("/logger");

            // EventMessage by namespace
            socket.On("traceEvent", "/logger", (eventLog) =>
            {
                Console.WriteLine("recv #1 [logger].[traceEvent] : {0}\r\n", eventLog.Json.GetFirstArgAs<EventLog>().ToJsonString());
            });
            socket.Emit("messageAck", new { hello = "papa" }, "/logger");
        }
コード例 #29
0
        public void SubscribeToRoutes(Client socket)
        {
            socket.On("connect", (fn) =>
            {
                Console.WriteLine("\r\nConnected ...\r\n");
                TellServerAboutSensor();
            });
            socket.On("getFrameFromSensor", (fn) =>
            {
                Console.WriteLine("GOT A CALIBRATION CALL");
                BroadcastCapsule broadcastData;
                
                if (kinectSensor != null)
                {
                    broadcastData = new BroadcastCapsule("setCalibrationFrame", depthRenderer2.frameData);
                }
                else
                {
                    //no Kinect sensor detected? error?
                    broadcastData = new BroadcastCapsule("setCalibrationFrame", "");
                }

                socket.Emit("broadcast", broadcastData);
            });
            socket.On("setTranslateRule", (fn) =>
            {
                var results = JsonConvert.DeserializeObject<dynamic>(fn.Json.ToJsonString());
                Console.WriteLine(results);
                Console.WriteLine(fn.Json.Args[0].startingLocation);
                translateRule = new TranslateRule((float)fn.Json.Args[0].degree, (float)fn.Json.Args[0].xDistance, (float)fn.Json.Args[0].zDistance, (float)fn.Json.Args[0].xSpaceTransition, (float)fn.Json.Args[0].zSpaceTransition, JsonConvert.DeserializeObject<Point3D>(fn.Json.Args[0].startingLocation + ""));

                //update rule display on UI
                /*
                lblCalibrationOrientation.Content = "Change in Orientation: " + translateRule.changeInOrientation;
                lblCalibrationPoint.Content = "dX, dZ: " + translateRule.dX + ", " + translateRule.dZ;
                lblCalibrationTranslation.Content = "xTran, zTran: " + translateRule.xSpace + ", " + translateRule.zSpace;
                lblCalibrationStartingLocation.Content = "Starting Location: " + translateRule.startingLocation.X + ", "
                    + translateRule.startingLocation.Y + ", " + translateRule.startingLocation.Z;

                Console.WriteLine("New calibration rule:");
                Console.WriteLine(JObject.FromObject(translateRule).ToString());
                 */
                updateTranslateRuleLabels();
            });

            socket.On("resetRule", (fn) =>
            {
                translateRule = new TranslateRule(0, 0, 0, 0, 0, new Point3D(0, 0, 0));
                Console.WriteLine("Reset calibration rule:");
                Console.WriteLine(JObject.FromObject(translateRule).ToString());
                updateTranslateRuleLabels();
            });
        }
コード例 #30
-3
        //哭了,貌似socketIO中on事件里会发生这个闹心的问题啊
        //他的相当于另起一个线程,然后里边的东西变成了局部变量,不能改变这个class的值啊  疯了!!!
        //那怎么玩啊、、弄个static试试
        //nice啊 静态也不行。哭了哭了 这次真哭了!
        private void connectBt_Click(object sender, RoutedEventArgs e)
        {
            //socketIO = new Client(serverUrl.Text);
            //socketIO = new Client("http://168.63.151.29:3000");
            this.connectBt.IsEnabled = false;
            socketIO = new Client("http://test.twtstudio.com:3000");
            socketIO.Message += socketIO_Message;
            socketIO.SocketConnectionClosed += socketIO_SocketConnectionClosed;
            socketIO.Error += socketIO_Error;

            socketIO.On("connect", (message) =>
            {

                Debug.WriteLine("on connect called!!!");
                JObject jo = new JObject();
                jo["username"] = "******";
                jo["password"] = "******";
                socketIO.Emit("hConnect", jo);

            });

            socketIO.On("a", async (message) =>
            {
                Debug.WriteLine("start listening");
                Debug.WriteLine(message.Json.ToJsonString());
                await SampleDispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
                {
                    /*//定义一个JSON字符串
                    string jsonText = "[{'a':'aaa','b':'bbb','c':'ccc'},{'a':'aaa2','b':'bbb2','c':'ccc2'}]";
                    //反序列化JSON字符串*/
                    //JArray ja = (JArray)JsonConvert.DeserializeObject(message.Json.ToJsonString());
                   // JArray ja = (JArray)JsonConvert.DeserializeObject(jsonText);
                    //将反序列化的JSON字符串转换成对象
                    JObject o = (JObject)JsonConvert.DeserializeObject(message.Json.ToJsonString());
                    //读取对象中的各项值
                    JArray jb = (JArray)JsonConvert.DeserializeObject(o["args"].ToString());

                    JObject ob = (JObject)jb[0];

                    JObject oc = (JObject)ob["mes"];

                    //Console.WriteLine(ja[1]["a"]);

                   // ChangedEventHandler(message.Json.ToJsonString());

                    if(oc["a"] != null )
                        ChangedEventHandler(oc["a"].ToString());
                    //{"name":"a","args":[{"mes":{"username":"******","password":"******"}}]}
                });
            });

            socketIO.ConnectAsync();
        }