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

  • 相关阅读:
    从安装、管理到防御_阿里云安骑士全向测评
    云架构师前(钱)景这么好_我们该如何转型?这有两位阿里云云架构总监多年心得
    Infrastructure_as_Code——Kubernetes一键编排实践
    大中华地区(含港澳台)空气质量接口参加阿里云API_as_a_Service_大赛
    E-MapReduce集群启停HDFS/YARN服务
    云服务器ECS还原安全组规则功能介绍_安全组规则的备份与还原
    E-MapReduce集群中HDFS服务集成Kerberos
    FastReport中如何加入自定义函数
    查找算法总结
    八大排序算法总结
  • 原文地址:https://www.cnblogs.com/ziolo/p/3738655.html
Copyright © 2011-2022 走看看