コード例 #1
0
        /// <summary>
        /// Subscribe to a list of instrument_tokens.
        /// </summary>
        /// <param name="Tokens">List of instrument instrument_tokens to subscribe</param>
        public void Subscribe(UInt32[] Tokens)
        {
            if (Tokens.Length == 0)
            {
                return;
            }

            string msg = "{\"a\":\"subscribe\",\"v\":[" + String.Join(",", Tokens) + "]}";

            if (_debug)
            {
                Console.WriteLine(msg.Length);
            }

            if (IsConnected)
            {
                _ws.Send(msg);
            }
            foreach (UInt32 token in Tokens)
            {
                if (!_subscribedTokens.ContainsKey(token))
                {
                    _subscribedTokens.Add(token, "quote");
                }
            }
        }
コード例 #2
0
        public override Task Send(object value)
        {
            var data = JsonSerializer.Stringify(value);

            OnSending(data);

            return(_socket.Send(data).Catch(IncrementErrorCounters));
        }
コード例 #3
0
ファイル: WebSocketTransport.cs プロジェクト: KrzysFR/SignalR
        public override Task Send(object value)
        {
            var data = JsonSerializer.Stringify(value);

            OnSending(data);

            return(_socket.Send(data));
        }
コード例 #4
0
        private IEnumerator Send()
        {
            if (false == socket.IsConnected())
            {
                yield return(GamebaseUnitySDKSettings.Instance.StartCoroutine(RetryConnect()));

                yield break;
            }
            else
            {
                if (0 < requestQueueItem.retryCount)
                {
                    GamebaseLog.Debug(string.Format("Reconnect succeeded. Index of queue item:{0}", requestQueueItem.index), this, "Send");
                }
            }

            GamebaseLog.Debug(string.Format("request:{0}", JsonMapper.ToJson(requestQueueItem.requestVO)), this, "Send");
            yield return(GamebaseUnitySDKSettings.Instance.StartCoroutine(socket.Send(JsonMapper.ToJson(requestQueueItem.requestVO), (error) =>
            {
                if (null == error)
                {
                    return;
                }

                error.transactionId = requestQueueItem.requestVO.transactionId;
                requestQueueItem.callback(string.Empty, error);
            })));

            socket.SetPollingInterval(PollingIntervalType.SHORT_INTERVAL);
            GamebaseUnitySDKSettings.Instance.StartCoroutine(CheckTimeout());
        }
コード例 #5
0
 private void UnsubscribeChannel(IWebSocket webSocket, string channelId)
 {
     webSocket.Send(JsonConvert.SerializeObject(new
     {
         @event = "unsubscribe",
         channelId
     }));
 }
コード例 #6
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="value"></param>
 protected void SendAsJsonString(object value)
 {
     using (var textWriter = new StringWriter())
     {
         var serializer = new JsonSerializer();
         serializer.Serialize(textWriter, value);
         _webSocket.Send(textWriter.ToString());
     }
 }
コード例 #7
0
        private void UnsubscribeChannel(IWebSocket webSocket, Channel channel)
        {
            int channelId = _channels.First(c => c.Value.Equals(channel)).Key;

            webSocket.Send(JsonConvert.SerializeObject(new
            {
                @event = "unsubscribe",
                chanId = channelId.ToStringInvariant()
            }));
        }
コード例 #8
0
        private void Send(IWebSocket webSocket, object obj)
        {
            var json = JsonConvert.SerializeObject(obj);

            _webSocketRateLimiter.WaitToProceed();

            Log.Trace("Send: " + json);

            webSocket.Send(json);
        }
コード例 #9
0
        private void UnsubscribeChannel(IWebSocket webSocket, BitfinexWebSocketChannels channels, Channel channel)
        {
            var channelId = channels.GetChannelId(channel);

            webSocket.Send(JsonConvert.SerializeObject(new
            {
                @event = "unsubscribe",
                chanId = channelId.ToStringInvariant()
            }));
        }
コード例 #10
0
        /// <summary>
        /// Subscribe to a list of instrument_tokens.
        /// </summary>
        /// <param name="Tokens">List of instrument instrument_tokens to subscribe</param>
        public void Subscribe(int exchange, List <int> instrumentTokens)
        {
            if (exchange <= 0 && instrumentTokens.Count <= 0)
            {
                return;
            }
            List <string> stringTokens = new List <string>();

            foreach (var token in instrumentTokens)
            {
                stringTokens.Add("[" + exchange + "," + token + "]");
            }
            string msg = "{\"a\": \"subscribe\", \"v\": [" + string.Join(",", stringTokens) + "], \"m\": \"marketdata\"}";//working silverm

            if (IsConnected)
            {
                _ws.Send(msg);
            }
        }
コード例 #11
0
 public void SendMessage(byte[] datas)
 {
     if (state.IsConnected())
     {
         mSocketClient.Send(datas);
     }
     else
     {
         DebugUtility.LogErrorTrace(LoggerTags.Online, "Try to send message before the web-socket connected.");
     }
 }
コード例 #12
0
        public void TestSendCallsWebSocketSend()
        {
            WebSocketJetConnection webSocketJetConnection = new WebSocketJetConnection("ws://172.19.191.179:8081");
            IWebSocket             webSocket = WebSocketFakesFactory.CreateWebSocketThatConnectsAndClosesSuccessful();

            webSocketJetConnection.SetWebSocket(webSocket);

            webSocketJetConnection.Connect(A.Dummy <Action <bool> >(), 1000.0);
            webSocketJetConnection.SendMessage("msg");
            A.CallTo(() => webSocket.Send("msg")).MustHaveHappened(Repeated.Exactly.Once);
        }
コード例 #13
0
 /// <summary>
 /// 覆写了基类的Send方法,对消息数据进行了SockJs格式的包装
 /// </summary>
 /// <param name="data"></param>
 public void Send(string data)
 {
     websocket.Send(WebSockerHelperUtils.SockJsEncode(data));
 }
コード例 #14
0
 public void ToggleModEnabled(bool enabled)
 {
     _websocket.Send($"{Constants.Mod.EnabledCvar} {Convert.ToInt32(enabled)}");
 }
コード例 #15
0
        private IEnumerator Send()
        {
            if (false == socket.IsConnected())
            {
                yield return(GamebaseCoroutineManager.StartCoroutine(GamebaseGameObjectManager.GameObjectType.WEBSOCKET_TYPE, RetryConnect()));

                yield break;
            }
            else
            {
                if (0 < requestQueueItem.retryCount)
                {
                    GamebaseLog.Debug(string.Format("Reconnect succeeded. Index of queue item:{0}", requestQueueItem.index), this);
                }
            }

            GamebaseLog.Debug(string.Format("request:{0}", GamebaseJsonUtil.ToPrettyJsonString(requestQueueItem.requestVO)), this);
            yield return(GamebaseCoroutineManager.StartCoroutine(GamebaseGameObjectManager.GameObjectType.WEBSOCKET_TYPE, socket.Send(JsonMapper.ToJson(requestQueueItem.requestVO), (error) =>
            {
                if (null == error)
                {
                    return;
                }

                error.transactionId = requestQueueItem.requestVO.transactionId;
                requestQueueItem.callback(string.Empty, error);
            })));

            socket.SetPollingInterval(PollingIntervalType.SHORT_INTERVAL);
            GamebaseCoroutineManager.StartCoroutine(GamebaseGameObjectManager.GameObjectType.WEBSOCKET_TYPE, CheckTimeout());
        }
コード例 #16
0
 /// <summary>
 /// Sends data to the client
 /// </summary>
 /// <param name="buffer">Data to send</param>
 /// <param name="endOfMessage">End of the message?</param>
 /// <param name="type">Message type of the data</param>
 /// <returns>Task to send the data</returns>
 public Task Send(ArraySegment <byte> buffer, bool endOfMessage, WebSocketMessageType type)
 {
     return(mWebSocket.Send(buffer, type, endOfMessage, mCancellToken.Token));
 }
コード例 #17
0
        private void SendViaSocket(SignalingMessage msg)
        {
            var json = JsonConvert.SerializeObject(msg);

            _socket.Send(json);
        }
コード例 #18
0
 private void Send(JObject json) => _webSocket.Send(json.ToString(Formatting.None, _jsonSettings.SerializerSettings.Converters.ToArray()));
コード例 #19
0
 /// <summary>
 /// Send message to websocket server
 /// </summary>
 /// <param name="message">message to be sent</param>
 public void Send(string message)
 {
     webSocket.Send(message);
 }