private void Connect(string command, string username)
        {
            using (var ws = new WebSocket("ws://127.0.0.1:8080/gs-guide-websocket"))
            {
                ws.OnMessage += ws_OnMessage;
                ws.OnOpen    += ws_OnOpen;
                ws.Connect();

                StompMessageSerializer serializer = new StompMessageSerializer();

                var connect = new StompMessage("CONNECT");
                connect["accept-version"] = "1.2";
                connect["host"]           = "";
                ws.Send(serializer.Serialize(connect));

                var content = new Content()
                {
                    Username = username, Message = command, id = Guid.NewGuid()
                };
                var broad = new StompMessage("SEND", JsonConvert.SerializeObject(content));
                broad["content-type"] = "application/json";
                broad["destination"]  = "/client/message";
                ws.Send(serializer.Serialize(broad));

                Console.ReadKey(true);
            }
        }
Exemple #2
0
        private void Connect(User user, WebSocket webSocket)
        {
            webSocket.OnMessage += WebSocketOnMessage;
            webSocket.OnOpen    += WebSocketOnOpen;
            webSocket.OnClose   += WebSocketOnClose;
            webSocket.OnError   += WebSocketOnError;

            webSocket.SetCredentials(user.login, user.password, true);
            webSocket.Connect();

            Console.WriteLine(webSocket.IsAlive);

            var connect = new StompMessage("CONNECT")
            {
                ["accept-version"] = "1.2", ["host"] = ""
            };

            webSocket.Send(Serializer.Serialize(connect));

            var sub = new StompMessage("SUBSCRIBE")
            {
                ["id"] = "sub-0", ["destination"] = "/topic/status"
            };

            webSocket.Send(Serializer.Serialize(sub));

            Thread.Sleep(int.MaxValue);
        }
Exemple #3
0
        /// <summary>
        /// 连接
        /// </summary>
        public void Connect(Action <string> onMessage)
        {
            this.onMessage = onMessage;
            var connect = new StompMessage(StompFrame.CONNECT);

            connect["accept-version"] = "1.1";
            connect["host"]           = "";
            connect["heart-beat"]     = "0,0";
            webSocket.Send(serializer.Serialize(connect));
        }
Exemple #4
0
        private void ConnectStomp()
        {
            var connect = new StompMessage(StompFrame.CONNECT);

            connect["accept-version"] = "1.2";
            connect["host"]           = "";
            // first number Zero mean client not able to send Heartbeat,
            //Second number mean Server will sending heartbeat to client instead
            connect["heart-beat"] = "0,10000";
            ws.Send(serializer.Serialize(connect));
        }
        static void Main(string[] args)
        {
            using (var ws = new WebSocket("ws://localhost:8080/spring-websocket-stomp-apollo/chat/websocket"))
            {
                ws.OnMessage += ws_OnMessage;
                ws.OnOpen    += ws_OnOpen;
                ws.OnError   += ws_OnError;
                ws.Connect();
                Thread.Sleep(1000);

                StompMessageSerializer serializer = new StompMessageSerializer();

                var connect = new StompMessage("CONNECT");
                connect["accept-version"] = "1.2";
                connect["host"]           = "";
                ws.Send(serializer.Serialize(connect));

                var clientId = RandomString(5);
                Console.WriteLine("Client Id :" + clientId);
                Thread.Sleep(1000);

                var sub = new StompMessage("SUBSCRIBE");
                sub["id"]          = "sub-0";
                sub["destination"] = "/topic/broadcast";
                ws.Send(serializer.Serialize(sub));

                var sub1 = new StompMessage("SUBSCRIBE");
                sub1["id"]          = "sub-1";
                sub1["destination"] = "/queue/message-" + clientId;
                ws.Send(serializer.Serialize(sub1));

                Thread.Sleep(1000);
                var content = new Content()
                {
                    Subject = "Stomp client", Message = "Hello World!!"
                };
                var broad = new StompMessage("SEND", JsonConvert.SerializeObject(content));
                broad["content-type"] = "application/json";
                broad["destination"]  = "/app/broadcast";
                ws.Send(serializer.Serialize(broad));

                Console.ReadKey(true);
            }
        }
Exemple #6
0
        void Ws_OnOpen(object sender, EventArgs e)
        {
            var connect = new StompMessage("CONNECT");

            connect["accept-version"] = "1.1";
            connect["heart-beat"]     = "10000,10000";
            connect["Authorization"]  = StaticToken.token;
            ws.Send(serializer.Serialize(connect));

            var sub = new StompMessage("SUBSCRIBE");

            //This is only random id
            sub["id"]          = "987654";
            sub["destination"] = "/user/topic/manager";
            ws.Send(serializer.Serialize(sub));
        }
Exemple #7
0
        public void Connect()
        {
            _client.OnSend += m => OnMessage(_serializer.Serialize(m));

            if (_stompInMemoryListener.OnConnect != null)
            {
                _stompInMemoryListener.OnConnect(_client);
            }

            if (OnOpen != null)
            {
                OnOpen();
            }
        }
        private Task SendMessage(StompMessage message)
        {
            _logger.LogMessage(message);

            try
            {
                return(_client.SendAsync(
                           GetArraySegment(_ser.Serialize(message)),
                           WebSocketMessageType.Binary,
                           true,
                           CancellationToken.None));
            }
            catch (AggregateException ex)
            {
                _logger.LogException(ex);
                return(Task.CompletedTask);
            }
        }
Exemple #9
0
 /// <summary>
 ///   Sends a message to the client
 /// </summary>
 /// <param name = "message"></param>
 public void Send(StompMessage message)
 {
     _socket.Send(_messageSerializer.Serialize(message));
 }
Exemple #10
0
 /// <summary>
 ///   Connects to the server on the specified address.
 /// </summary>
 /// <param name = "address">The address.</param>
 public void Connect()
 {
     _transport.OnOpen    += () => _transport.Send(_serializer.Serialize(new StompMessage("CONNECT")));
     _transport.OnMessage += (msg) => HandleMessage(_serializer.Deserialize(msg));
     _transport.Connect();
 }
Exemple #11
0
        //INIT - SET TEAMDATA
        public bool InitialzationTeam()
        {
            JObject obj = getUser("teamCode");

            if (obj != null)
            {
                var client = new WebClient();
                client.Headers[HttpRequestHeader.ContentType] = "application/json";
                client.Encoding = UTF8Encoding.UTF8;

                string response = client.UploadString("http://danny-dataserver.kro.kr:8080/getUserTeam", obj.ToString());

                /*
                 * need value
                 *
                 * teamCode
                 *
                 */
                JObject data = JObject.Parse(response);

                TeamData.id    = Convert.ToInt64(data["id"].ToString());
                TeamData.name  = data["name"].ToString();
                TeamData.code  = data["code"].ToString();
                TeamData.files = data["files"].ToString().Equals("null") ? null : JsonConvert.DeserializeObject <string[]>(data["files"].ToString());//.Values().Select(x => x.Value<string>()).ToArray();
                string str = getNoticeMessage();

                TeamData.notice = str.Equals("{\"message\":\"NO NOTICES\",\"errorCode\":\"404\"}") ? null : JsonConvert.DeserializeObject <List <Notice> >(str);

                string str2 = getToDoList();
                TeamData.toDoList = str2.Equals("{\"message\":\"NO ToDoList\",\"errorCode\":\"404\"}") ? null : JsonConvert.DeserializeObject <List <ToDoList> >(str2);


                UserData.socket = new WebSocketSharp.WebSocket("ws://danny-dataserver.kro.kr:8080/my-ws/websocket");

                StompMessageSerializer serializer = new StompMessageSerializer();
                UserData.socket.OnOpen += (sender, e) =>
                {
                    var connect = new StompMessage("CONNECT");
                    connect["accept-version"] = "1.1";
                    connect["heart-beat"]     = "0,1000";
                    UserData.socket.Send(serializer.Serialize(connect));

                    var sub = new StompMessage(StompFrame.SUBSCRIBE);
                    sub["id"]          = "sub-" + UserData.id;
                    sub["destination"] = "/topics/event";
                    UserData.socket.Send(serializer.Serialize(sub));


                    var test = new StompMessage(StompFrame.SEND, "{\"name\":\"Test\"}");
                    test["content-type"] = "application/json";
                    test["destination"]  = "/app/hello";
                    UserData.socket.Send(serializer.Serialize(test));
                };
                UserData.socket.OnMessage += (sender, e) =>
                {
                    string deserialized = serializer.Deserialize(e.Data).Body;
                    if (deserialized.Contains("Hello"))
                    {
                        Console.WriteLine("Hello~");
                    }


                    if (deserialized.Contains("UPDATED_FILES")) // UPDATE FILES
                    {
                        if (UserData.teamCode == JObject.Parse(deserialized)["name"].ToString())
                        {
                            client = new WebClient();
                            client.Headers[HttpRequestHeader.ContentType] = "application/json";
                            client.Encoding = UTF8Encoding.UTF8;
                            response        = client.UploadString("http://danny-dataserver.kro.kr:8080/getUserTeam", obj.ToString());

                            data = JObject.Parse(response);
                            Console.WriteLine("Received");
                            TeamData.files       = data["files"].ToString().Equals("null") ? null : JsonConvert.DeserializeObject <string[]>(data["files"].ToString());//.Values().Select(x => x.Value<string>()).ToArray()
                            UserData.fileUpdated = true;
                            TeamData.Updated     = true;
                        }
                    }

                    if (deserialized.Contains("SetNoticeRead")) // Some player reading...
                    {
                        var strs = getNoticeMessage();

                        TeamData.notice = strs.Equals("{\"message\":\"NO NOTICES\",\"errorCode\":\"404\"}") ? null : JsonConvert.DeserializeObject <List <Notice> >(strs);
                    }

                    if (deserialized.Contains("AddNotices")) // Notice added
                    {
                        var strs = getNoticeMessage();

                        List <Notice> result = new List <Notice>();
                        TeamData.AddNotices = strs.Equals("{\"message\":\"NO NOTICES\",\"errorCode\":\"404\"}") ? null : JsonConvert.DeserializeObject <List <Notice> >(strs);

                        if (TeamData.notice != null)
                        {
                            foreach (Notice n in TeamData.notice)
                            {
                                foreach (Notice n2 in TeamData.AddNotices)
                                {
                                    if (n.id == n2.id)
                                    {
                                        result.Add(n2);
                                    }
                                }
                            }
                            foreach (Notice n in result)
                            {
                                TeamData.AddNotices.Remove(n);
                            }
                        }


                        UserData.noticeUpdated = true;
                        TeamData.notice        = strs.Equals("{\"message\":\"NO NOTICES\",\"errorCode\":\"404\"}") ? null : JsonConvert.DeserializeObject <List <Notice> >(strs);
                    }

                    if (deserialized.Contains("AddMemos")) // Memo Added
                    {
                        JObject objs = JObject.Parse(JObject.Parse(deserialized)["name"].ToString());

                        if (objs["id"].ToString().Equals(UserData.id.ToString())) // IF THIS USER
                        {
                            List <int> current = JsonConvert.DeserializeObject <List <int> >(objs["messages"].ToString());
                            UserData.memos       = current.ToArray();
                            UserData.updateMemos = current.ToArray()[current.Count() - 1];
                            UserData.userMemos   = GetMemoText(UserData.memos.Length - 1);
                            UserData.memoUpdated = true;
                        }
                    }
                };
                UserData.socket.OnError += (sender, e) =>
                {
                };
                UserData.socket.OnClose += (sender, e) =>
                {
                    MessageBox.Show("SERVER DISCONNECTED");
                    System.Diagnostics.Process.GetCurrentProcess().Kill();
                };
                UserData.socket.Connect();

                return(true);
            }
            return(false);
        }