Android 实现联网(四)——TCP/UDP
来源:互联网 发布:柏拉图软件 编辑:程序博客网 时间:2024/06/12 02:06
在java.net漫游 篇幅 中,我们详细介绍了与网络相关的基础类,本篇幅我们详细介绍TCP、UDP,以及如何在Android 实现联网中使用TCP、UDP协议。
TCP(Transmission Control Protocol:传输控制协议)
TCP模型结构图,如下图所示:
服务器端与客户端的交互图,如下图所示:
对上图,解释如下
- 服务器程序编写
- 调用ServerSocket(int port)创建一个服务器套接字,并绑定到指定端口上;
- 调用accept(),监听连接请求,如果客户端请求连接,则接受连接,返回通信套接字;
- 调用Socket类的getOutputStream()和getInputStream()获取输出和输入流,开始网络数据的发送和接收;
- 最后关闭通信套接字。
- 客户端程序编写
- 调用Socket()创建一个流套接字,并连接到服务器端;
- 调用Socket类的getOutputStream()和getInputStream()获取输出和输入流,开始网络数据的发送和接收;
- 关闭通信套接字。
具体如何使用的例子,相信大家已经看了很多了,在这里就不详细说明了。
UDP (User DataPram Protocol:用户数据报协议)
UDP模型结构图,如下图所示:
服务器端与客户端的交互图,如下图所示:
对上图,解释如下:
- 接收端程序编写:
- 调用DatagramSocket (int port)创建一个数据报套接字,并绑定到指定端口上;
- 调用DatagramPacket(byte[] buf,int length),建立一个字节数组以接收UDP包;
- 调用DatagramSocket类的receive(),接受UDP包;
- 最后关闭数据报套接字。
- 发送端程序编写:
- 调用DatagramSocket()创建一个数据包套接字;
- 调用DatagramPacket(byte[] buf,int offset,int length,InetAddress address,int port),建立要发送的UDP包;
- 调用DatagramSocket类的send()发送UDP包;
- 最后关闭数据报套接字。
下面举个具体的例子,通过send()/recv()分别实现数据报的发送与接受,如下图所示:
原文地址:http://dev.10086.cn/cmdn/wiki/index.php?doc-view-3617.html
- Android 实现联网(四)——TCP/UDP
- Android 实现联网(四)——TCP/UDP
- (转)Android 实现联网(四)——TCP/UDP
- Android 网络交互(四) UDP实现及UDP和TCP区别
- 总结四(TCP、UDP)
- Android网络编程TCP、UDP(三)——UDP实例:搜索局域网所有的设备
- Android网络编程TCP、UDP(三)——UDP实例:搜索局域网所有的设备
- Android网络编程TCP、UDP(三)——UDP实例:搜索局域网所有的设备
- Android 实现联网——在线程中联网
- Android 实现联网——在线程中联网
- Android实现TCP与UDP传输
- Android实现TCP与UDP传输
- Android如何实现TCP和UDP传输
- Android 实现联网(三)——在线程中联网
- Android 实现联网(三)——在线程中联网
- Android 实现联网(三)——在线程中联网
- (转)Android 实现联网(三)——在线程中联网
- 解读TCP/UDP数据包(四):TCP数据包实例解析
- Android 实现联网(三)——在线程中联网
- ADS汇编语言2 .
- Ubuntu 10.04 HP LaserJet 无法打印 "**** Unable to open the initial device, quitting" 错误
- 敏捷测试理论以及实践 - 4
- Java中String类的方法及说明
- Android 实现联网(四)——TCP/UDP
- CSS在IE常见的9个问题解决
- MFC:如何在CMainFrame中分割窗口
- android学习——App Widget
- 临时放置
- jdom生成xml文件
- IE的CSS Bug列表(IE6,IE7和IE8)
- 谈DIV+CSS样式表命名的规则方法
- 面试 java 的内存 管理,内存泄露 java 的体系结构