/// <summary>
        /// подключиться к Long Poll серверу
        /// </summary>
        /// <param name="serverData"></param>
        /// <returns>При каждом ответе сервер будет возвращать новый ts</returns>
        public string ConnectToLongPoolServer(LongPollServerInfo serverData)
        {
            WebClient wc = new WebClient();
            string connection = string.Format("http://{0}?act=a_check&key={1}&ts={2}&wait=25", serverData.Server,
                                            serverData.Key, serverData.Ts);

            byte[] buff = wc.DownloadData(connection);
            string ret_string = Encoding.UTF8.GetString(buff);
            return ret_string;
        }
 /// <summary>
 /// Возвращает данные, необходимые для подключения к Long Poll серверу
 /// <remarks>Long Poll подключение позволит Вам моментально узнавать о приходе новых сообщений и других событий. </remarks>
 /// </summary>
 /// <returns></returns>
 public LongPollServerInfo GetLongPollServerConnetInfo()
 {
     if (IsConnected && (Settings & ((int)VKSettings.ExMessages)) != 0)
     {
         XmlDocument doc = ExecuteMethodByToken("messages.getLongPollServer", null);
         if (!HasError(doc))
         {
             LongPollServerInfo server = new LongPollServerInfo();
             server.Key = doc.SelectSingleNode("response/key/text()").Value;
             server.Server = doc.SelectSingleNode("response/server/text()").Value;
             long ts;
             if (long.TryParse(doc.SelectSingleNode("response/ts/text()").Value, out ts))
                 server.Ts = ts;
             return server;
         }
         return null;
     }
     return null;
 }