首页 > 移动平台 > 详细

Android Socket 编程

时间:2015-10-11 21:39:47      阅读:236      评论:0      收藏:0      [点我收藏+]

Socket 编程:

 1.what is Socket

  网络通信的一种接口  

  统称:套接字

  用于描述IP地址和端口,是一个通信链的句柄。

  应用程序通过 “套接字” 向 网络发出请求或者应答网络请求。

  Socket 分为两部分:服务端 socket,和客户端socket

(UDP 协议 是 一次性将数据打包,进行发送,不对数据传输过程中 数据的丢失 负责

  UDP 发送的数据 是有限的,传输速度比较快

 )

(TCP 协议 发数据时要求接收方 ,返回一个回应,传输速度比较慢)

 2.Socket 基本通信模型

 3.使用基于TCP协议的Socket

   服务端代码如下:

   1.声明一个ServerSocket 对象,并让这个Socket 在指定端口监听

    ServerSocket serverSocket = new ServerSocket(端口号);

    2.调用ServerSocket 的accept()方法,接受客户端发送的请求

     Socket socket = serverSocket.accept();

    3.从Socket 中得到 InputStream 对象

      InputStream inputStream = socket.getInputStream();

    4.从inputStream 中读取客户端发送的数据。

     byte[] buffer= new byte[1024*4];

     int temp=0;

     while(temp=inputstream.read(buffer)!=-1){

      system.out.println(new String(buffer,0,temp));

     }

    客户端代码如下:

      1. 创建Socket 连接

        Socket socket = new Socket("ip address",端口号);

       2.写入数据到 客户端到outputStream中 通过socket 传输给 服务端。

        //some codes simple。

 4.使用基于UDP协议的Socket

    UDP通信 方式:

      服务端:

        1.创建DatagramSocket 对象,并指定监听的端口号:

          DatagramSocket socket = new DatagramSocket(端口号);

        2. 创建空的 DatagramPacket 对象

          byte data[]= new byte [1024];

          DatagramPacket packet = new  DatagramPacket(data,data.length);

        3.使用receive方法 接收客户端所发送的数据,存放到DatagramSocket对象中。

          socket.receive(packet);

      客户端:

        1.创建DatagramSocket 对象

          DatagramSocket socket = new DatagramSocket(端口号);

        2.创建一个InetAddress

         InetAddress serverAddress= InetAddress.getByName(ip address);

        3.创建 DatagramPacket 对象,并指定这个数据包点接收地址及端口号

        4.调用Socket 对象的send 方法 ,发送数据。

        


Android Socket 编程

原文:http://my.oschina.net/leov1/blog/515589

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!