Ejemplo n.º 1
0
 public Task <LongPullModel> GetLongPollServerAsync(bool useSsl = false, bool needPts = false)
 {
     return(Task.Run(() =>
     {
         LongPullModel messageModel = GetLongPollServer(useSsl, needPts);
         return messageModel;
     }));
 }
Ejemplo n.º 2
0
        public LongPullModel GetLongPollServer(bool useSsl = false, bool needPts = true)
        {
            var parameters = new Dictionary <string, object>
            {
                { "use_ssl=", useSsl },
                { "need_pts=", needPts }
            };

            string        str           = VkRequest.GetData("messages.getLongPollServer", parameters);
            LongPullModel longPullModel = JsonConvert.DeserializeObject <LongPullModel>(str);

            return(longPullModel);
        }
Ejemplo n.º 3
0
        public async void LongPool(Updates updates = null)
        {
            if (updates == null)
            {
                lpm = await _vkApi.Messages.GetLongPollServerAsync();
            }
            else
            {
                lpm.response.ts  = updates.ts;
                lpm.response.pts = updates.pts;
            }

            var reqGet = WebRequest.Create(@"http://" + lpm.response.server + "?act=a_check&key=" + lpm.response.key + "&ts=" + lpm.response.ts + "&wait=25&mode=32");
            var resp   = await reqGet.GetResponseAsync();

            var stream = resp.GetResponseStream();

            var sr  = new StreamReader(stream);
            var str = sr.ReadToEnd();

            Updates updateModel = JsonConvert.DeserializeObject <Updates>(str);

            if (updates != null)
            {
                ts  = updates.ts;
                pts = updates.pts;
            }
            else
            {
                ts  = lpm.response.ts;
                pts = lpm.response.pts;
            }

            DetectTypeEvent(updateModel);

            LongPool(updateModel);
        }