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

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值