没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
27页
实验三 基于Android的聊天网络应用 安卓开发实验及其报告(基于Android的聊天网络应用) 懂你所懂,有你所求,这是安卓实验报告,源码可以去看看我的主页,可以直接免费下载查看源码哦! 1. 教学目标 了解安卓应用市场发布流程;掌握Android网络编程。 2. 教学内容 类QQ的及时聊天;实现用户注册、文本、语音、图片的信息交换;实现单聊;实现群聊;可考虑增加创新内容如发布文章、短视频、求助、直播等。 3. 教学方法 实验上机。 4. 本章重点 安卓应用市场发布流程;Android网络编程。 5. 本章难点 安卓应用市场发布流程;Android网络编程。 二、实验目的 1、了解安卓应用的发布流程,掌握Android网络编程。 2、了解及掌握Android+Socket即时通讯应用技术。 3、对安卓开发流程有深入的了解。
资源推荐
资源详情
资源评论
一、实验题目
基于 Android 的聊天网络应用
二、实验目的
1、了解安卓应用的发布流程,掌握 Android 网络编程。
2、了解及掌握 Android+Socket 即时通讯应用技术。
3、对安卓开发流程有深入的了解。
三、总体设计
1、背景知识
① TCP/IP
TCP/IP 传输协议,即传输控制/网络协议,也叫网络通讯协议。它是在网络
的使用中的最基本的通信协议。TCP/IP 传输协议对互联网中各部分进行通信的
标准和方法进行了规定。并且,TCP/IP 传输协议是保证网络数据信息及时、完
整传输的两个重要的协议。TCP/IP 传输协议是严格来说是一个四层的体系结构,
应用层、传输层、网络层和数据链路层都包含其中。TCP/IP 协议是 Internet
最基本的协议,其中应用层的主要协议有 Telnet、FTP、SMTP 等,是用来接收
来自传输层的数据或者按不同应用要求与方式将数据传输至传输层;传输层的
主要协议有 UDP、TCP,是使用者使用平台和计算机信息网内部数据结合的通
道,可以实现数据传输与数据共享;网络层的主要协议有 ICMP、IP、IGMP,
主要负责网络中数据包的传送等;而网络访问层,也叫网路接口层或数据链路
层,主要协议有 ARP、RARP,主要功能是提供链路管理错误检测、对不同通
信媒介有关信息细节问题进行有效处理等。
UDP 协议
UDP 协议定义了端口,同一个主机上的每个应用程序都需要指定唯一的端
口号,并且规定网络中传输的数据包必须加上端口信息,当数据包到达主机以
后,就可以根据端口号找到对应的应用程序了。UDP 协议比较简单,实现容易,
但它没有确认机制,数据包一旦发出,无法知道对方是否收到,因此可靠性较
差,为了解决这个问题,提高网络可靠性,TCP 协议就诞生了。
TCP 协议
TCP 即传输控制协议,是一种面向连接的、可靠的、基于字节流的通信协
议。简单来说 TCP 就是有确认机制的 UDP 协议,每发出一个数据包都要求确
认,如果有一个数据包丢失,就收不到确认,发送方就必须重发这个数据包。
为了保证传输的可靠性,TCP 协议在 UDP 基础之上建立了三次对话的确认机
制,即在正式收发数据前,必须和对方建立可靠的连接。TCP 数据包和 UDP
一样,都是由首部和数据两部分组成,唯一不同的是,TCP 数据包没有长度限
制,理论上可以无限长,但是为了保证网络的效率,通常 TCP 数据包的长度不
会超过 IP 数据包的长度,以确保单个 TCP 数据包不必再分割。
传输层的主要工作是定义端口,标识应用程序身份,实现端口到端口的通
信,TCP 协议可以保证数据传输的可靠性。
② Socket 通信原理
1、什么是 Socket?
Socket(套接字)起源于 Unix,可以看成是两个网络应用程序进行通信时,
各自通信连接中的端点,这是一个逻辑上的概念。它是网络环境中进程间通信
的 API(应用程序编程接口),也是可以被命名和寻址的通信端点,使用中的每一
个套接字都有其类型和一个与之相连进程。通信时其中一个网络应用程序将要
传输的一段信息写入它所在主机的 Socket 中,该 Socket 通过与网络接口卡
(NIC)相连的传输介质将这段信息送到另外一台主机的 Socket 中,使对方能够
接收到这段信息。 Socket 是由 IP 地址和端口结合的,提供向应用层进程传送
数据包的机制。
2、Socket 的基本操作
socket 是“open—write/read—close”模式的一种实现,提供对应的函数接口。
socket()函数: int socket(int domain, int type, int protocol);
bind()函数: int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
listen(): int listen(int sockfd, int backlog);
connect()函数:int connect(int sockfd, const sockaddr *addr, socklen_t addrlen);
accept()函数: int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
read()函数: recvmsg();
write()函数 : sendmsg();
close()函数: int close(int fd);
3、Socket 通信模型
剩余26页未读,继续阅读
陈陈不会敲代码
- 粉丝: 602
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- pta题库答案c语言之排序4统计工龄.zip
- pta题库答案c语言之树结构7堆中的路径.zip
- pta题库答案c语言之树结构3TreeTraversalsAgain.zip
- pta题库答案c语言之树结构2ListLeaves.zip
- pta题库答案c语言之树结构1树的同构.zip
- 基于C++实现民航飞行与地图简易管理系统可执行程序+说明+详细注释.zip
- pta题库答案c语言之复杂度1最大子列和问题.zip
- 三维装箱问题(Three-Dimensional Bin Packing Problem,3D-BPP)是一个经典的组合优化问题
- 以下是一些关于Linux线程同步的基本概念和方法.txt
- 以下是一个简化的示例,它使用pygame库来模拟烟花动画的框架.txt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页