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连接协议 数据传输的方法集
长连接、数据传输实时、操作复杂
BSD的socket—》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.把数组显示到首页 可直接复用前面做过的个人微博列表页面