zoukankan      html  css  js  c++  java
  • android网络编程

    android的网络编程分为2种:基于socket的,和基于http协议的。

    基于socket的用法

      服务器端:

      先启动一个服务器端的socket     ServerSocket svr = new ServerSocket(8989);

      开始侦听请求         Socket s = svr.accept();

      取得输入和输出        DataInputStream dis = new DataInputStream(s.getInputStream());

                     DataOutputStream dos = new DataOutputStream(s.getOutputStream());

      Socket 的交互通过流来完成,即是说传送的字节流,因此任何文件都可以在上面传送。谁打开的记得要关上。

      用DataInputStream/DataOutputStream来进行包装是因为我们想要他们对基本数据类型的读写功能readInt(),writeInt(),readUTF(),writeUTF()等等。

      客户端:

      发起一个socket连接      Socket s = new Socket("192.168.1.200",8989);

      取得输入和输出        DataInputStream dis = new DataInputStream(s.getInputStream());

                     DataOutputStream dos = new DataOutputStream(s.getOutputStream());

      之后就可以相互通信了。谁打开的记得要关上。

    基于Http协议

      一般是发送请求到某个应用服务器。此时需要用到HttpURLConnection

      先取得HttpURLConnection urlConn = new URL("http://www.google.com").openConnection();

      设置标志 

        urlConn.setDoOutput(true);  urlConn.setDoInput(true);//post的情况下需要设置DoOutput为true

        urlConn.setRequestMethod("POST");

        urlConn.setUseCache(false);//设置是否用缓存

        urlConn.setRequestProperty("Content-type","application/x-www-form-urlencoded");//设置content-type

      获得输出流,便于想服务器发送信息。

        DataOutputStream dos = new DataOutputStream(urlConn.getOutputStream());

      望流里面写请求参数

        dos.writeBytes("name="+URLEncoder.encode("chenmouren","gb2312");

        dos.flush();dos.close();//发送完后马上关闭。

      获得输入流,取数据

        BufferReader reader = new BufferedReader(new InputStreamReader(urlConn.getInputStream()));

        reader.readLine();//用 !=null来判断是否结束

        reader.close();

      读完了记得关闭connection  urlConn.disconnect();

    流程记录就到此为止。

    原作者:http://www.cnblogs.com/chenmouren/archive/2011/07/22/2114505.html

  • 相关阅读:
    ZOJ 3765 Lights (zju March I)伸展树Splay
    UVA 11922 伸展树Splay 第一题
    UVALive 4794 Sharing Chocolate DP
    ZOJ 3757 Alice and Bod 模拟
    UVALive 3983 捡垃圾的机器人 DP
    UVA 10891 SUM游戏 DP
    poj 1328 Radar Installatio【贪心】
    poj 3264 Balanced Lineup【RMQ-ST查询区间最大最小值之差 +模板应用】
    【转】RMQ-ST算法详解
    poj 3083 Children of the Candy Corn 【条件约束dfs搜索 + bfs搜索】【复习搜索题目一定要看这道题目】
  • 原文地址:https://www.cnblogs.com/ziolo/p/3738655.html
Copyright © 2011-2022 走看看