UIKit Core之笔记two--->>Socket

来源:互联网 发布:python timedelta 编辑:程序博客网 时间:2024/06/16 22:12

TCP:链接协议

Socket:是TCP链接协议链接成功之后进行数据传输的一个方法集

HTTP

socket程序员的职责:外网只能写客户端如果涉及到局域网之内的数据传输也可以写服务器

IP:内网ip和外网ip

端口

HTTP:只写客户端

百度:iOS asyncSocket框架

CS     Client    Server     qq   淘宝 微博 微信 团购 。。。。

BS      Browser Server    qq   淘宝  

Socket数据传输分为TCP协议和UDP协议

TCP:基于链接  安全(保证数据准确到达)

       TCP连接协议 规定了如何让两个设备建立连接

UDP: 传输速度快 整个局域网之内广播 应用场景:实时视频监控、视频相关、局域网之内的消息群发、检测局域网内在线设备

Socket是在两台设备通过TCP协议连接成功之后  进行数据传输的方法集

Socket 如何进行数据传输:1.创建一个服务器 服务器端监听某一个端口  2.创建一个客户端给服务器发建立连接的请求    3.服务器和客户端连接成功  4.客户端和服务器之间互相传递数据  5.某一方执行断开连接方法  

TCP:链接协议 数据传输基于链接 保证数据准确到达

安全但传输数据效率较UDP差

UDP:非连接协议(不用链接也可传数据)传播速度快

可以实现一对多 (广播)不保证数据准确到达 效率高

检测谁在线思路:

1.程序运行起来开启一个etimer每隔2秒钟往整个网段发送一个“谁在线”

2.在接受数据的方法里面如果接受到“谁在线”就给这个人回复一个“我在线”

3.如果接收到的是我在线就把这个人得ip地址添加到数据源数组中

4.刷新tableView显示ip地址

09

Socket:长连接(一直连着)保证数据实时

Http:底层Socket实现 短连接(请求响应式)开发效率高 ,容错性强 ,对程序员要求较低 写客户端

NSURLConnection

NSUELSession

Socket:操作TCP/IP连接协议 数据传输的方法集

长连接、数据传输实时、操作复杂

BSDsocket—》CFNetwork——》AsyncSocket(OC)

Http协议:短连接、

TCP:基于链接的协议(三次握手),数据传输更可靠,传输速率较UDP要慢,

UDP:非连接,传输速度快,数据传输不可靠,可以实现广播,

聊天工具实现步骤:

1.开一个timer 每隔2秒钟发一个广播  发送内容为“谁在线”

2.如果接收数据接收到谁在线的话 立即给该ip回复 “我在线”

3.如果接收到我在线 则把这个人的ip地址保存到数据中 然后显示在tableview里面

HTTP:好处 

开发效率高、容错性强、对程序员水平要求低 

不同:短链接,手机端只能写客户端 (不像Socket可以写服务器)

程序员职责:发请求(发请求时可能到传递各种参数)得到服务器的返回数据 分为文件或文本(xml或json) 如果是文件保存即可 如果是文本需要解析 用各种控件把数据展示给用户

webService 网络服务 web服务 WebApi 网络接口 网络API

192.168.1.23  8000  upload

http://www.baidu.com/s?wd=hello&rsv_spt=1&issp=1&rsv_bp=0&ie=utf-8&tn=98765000_hao_pg

主地址                                    子地址(决定访问的是哪一个接口)     ?后面的是请求参数参数之间用&分割

HTTP协议分为两种请求方式GET和POST

GET:请求参数放到网址后面

POST:请求参数放到请求体里面 敏感数据和大数据

1.调用weiboapi发微博时,添加经度和维度两个参数,添加方式参见腾讯api文档 发送微博接口

2.在发送微博成功时得到刚才发送微博的weiboID 给百度服务器发请求创建位置信息

3.在首页发送检索请求 检索周边的weiboID  从返回数据中解析出 weiboID的数组

4.给腾讯服务器发请求 从文档中找到批量获取微博详情的接口    发请求得到多条微博的详情   从结果中解析 得到多个weibo对象的数组

5.把数组显示到首页   可直接复用前面做过的个人微博列表页面

0 0
原创粉丝点击