zoukankan      html  css  js  c++  java
  • WindowsPhone与服务器通信

    与其他平台一样,WindowsPhone与服务器通信有两种方式:

    1.Socket方式:主要用在需要长链接的应用里边,上传文件等IO操作时使用

    2.http方式:绝大多数应用采用的方式,通过访问服务器接口,解析服务器返回的json或者xml等数据

    本文主要介绍http方式

    using System;
    using System.IO;
    using System.Net;
    using System.Text;
    using System.Threading;
    using System.Windows;
    
    namespace Phone.Common
    {
        public class Http
        {
            public Http(HandleResult handle)
            {
                this.handle = handle;
            }
    
            public delegate void HandleResult(string result);
            private HandleResult handle;
    
            public void StartRequest(string Url)
            {
                var webRequest = (HttpWebRequest)WebRequest.Create(Url);
                webRequest.Method = "GET";
                try
                {
                    new Thread(() => webRequest.BeginGetResponse(new AsyncCallback(HandleResponse), webRequest)).Start();
                }
                catch
                {
                }
            }
    
            public void HandleResponse(IAsyncResult asyncResult)
            {
    
                HttpWebRequest httpRequest = null;
                HttpWebResponse httpResponse = null;
                string result = string.Empty;
                try
                {
                    httpRequest = (HttpWebRequest)asyncResult.AsyncState;
                    httpResponse = (HttpWebResponse)httpRequest.EndGetResponse(asyncResult);
    
                    using (var reader = new StreamReader(httpResponse.GetResponseStream(), Encoding.UTF8))
                    {
                        result = reader.ReadToEnd();
                        reader.Close();
                    }
                }
                catch
                {
    
                }
                finally
                {
                    if (httpRequest != null) httpRequest.Abort();
                    if (httpResponse != null) httpResponse.Close();
                }
    
                Deployment.Current.Dispatcher.BeginInvoke(() => handle(result));
            }
        }
    }
  • 相关阅读:
    vue语法 `${ }` (模版字符串)
    Apache HttpClient工具类
    JS —— 数组去重
    HTML5——新增的API
    HTML5——新特性
    HTML5——Svg
    HTML5——多媒体(Audio音频、Video视频)
    CSS3——transform
    CSS3——animation中的属性--steps
    CSS3——动画transition、animation
  • 原文地址:https://www.cnblogs.com/zhanghaoh/p/2836176.html
Copyright © 2011-2022 走看看