文档章节

Android Socket 编程

TM250
 TM250
发布于 2015/10/11 20:39
字数 480
阅读 134
收藏 5

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 方法 ,发送数据。

        


© 著作权归作者所有

TM250
粉丝 2
博文 13
码字总数 4337
作品 0
朝阳
程序员
私信 提问
android网络通信之socket教程实例汇总

一、socket基础 1、Socket通讯机制(详细),如何将socket通信的客户端与服务器 http://www.eoeandroid.com/thread-61727-1-1.html 2、Http和Socket区别 http://www.eoeandroid.com/thread-9...

程序袁_绪龙
2014/12/11
13.7K
0
Android必备:Android Socket编程的了解与学习整理

看这里:Android必备:Android Socket编程的了解与学习整理 最近学习Android的过程中,由于项目、业务等因素影响,服务端通过Socket进行通信,于是开始学习Socket编程,之前的开发中,很少涉...

Realfighter
2015/03/02
1K
0
android socket编程实例

android客户端通过socket与服务器进行通信可以分为以下几步: 应用程序与服务器通信可以采用两种模式:TCP可靠通信 和UDP不可靠通信。 (1)通过IP地址和端口实例化Socket,请求连接服务器:...

wangwenya
2013/08/22
2.1K
0
android socket编程实例

android客户端通过socket与服务器进行通信可以分为以下几步: 应用程序与服务器通信可以采用两种模式:TCP可靠通信 和UDP不可靠通信。 (1)通过IP地址和端口实例化Socket,请求连接服务器:...

postdep
2014/08/25
329
1
【北京】【猎头职位】某上市公司 招聘 高级开发工程师(C、C++),android,java,iphone

公司总部设于北京,下设上海、广州分公司,并在济南、武汉、成都、深圳、杭州等地设立了办事处。 职位名称:高级Java研发工程师 (12K~16K/月) 岗位职责: 参与分布式基础架构体系的开发工作...

leonrisfond
2011/10/31
632
8

没有更多内容

加载失败,请刷新页面

加载更多

CentOS 7系统增加swap

转载请注明文章出处:CentOS 7系统增加swap swap是位于磁盘上的特殊文件(或分区),属于“虚拟内存”的一部分。通俗点就是内存的备胎,内存充足的情况下,基本上没swap什么事(和设置有关)...

tlanyan
15分钟前
2
0
基于Prometheus和Grafana的监控平台 - 环境搭建

相关概念 微服务中的监控分根据作用领域分为三大类,Logging,Tracing,Metrics。 Logging - 用于记录离散的事件。例如,应用程序的调试信息或错误信息。它是我们诊断问题的依据。比如我们说...

JAVA日知录
56分钟前
5
0
PHP运行时全局构造体

struct _php_core_globals { zend_bool magic_quotes_gpc; // 是否对输入的GET/POST/Cookie数据使用自动字符串转义。 zend_bool magic_quotes_runtime; //是否对运行时从外部资源产生的数据使...

冻结not
57分钟前
4
0
webpack插件html-webpack-plugin

本文转载于:专业的前端网站→webpack插件html-webpack-plugin 1、插件安装 npm install html-webpack-plugin --save-dev 2、插件使用 webpack.config.js配置文件为: var htmlWebpackPlugin=...

前端老手
今天
6
0
数据挖掘

zhengchen1996
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部