博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
5月29 服务接口
阅读量:4320 次
发布时间:2019-06-06

本文共 2609 字,大约阅读时间需要 8 分钟。

接口:

接口分为两类

面向对象的接口和常说的调用接口

面向对象的接口时一个抽象类(抽象类:比较抽象不能直接new 需要子类来实现具体的操作,需要被继承)而接口比抽象类还要抽象,所用的关键字比较特殊interface

 

socket:TCP,长连接------

  socket则是对TCP/IP协议的封装和应用(程序员层面上)。

  也可以说,TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,

  而HTTP是应用层协议,主要解决如何包装数据。

 

 

TCP:长连接,client向server发起连接,server接受client连接,双方建立连接。Client与server完成一次读写之后,它们之间的连接并不会主动关闭,后续的读写操作会继续使用这个连接。

 

 

HTTP:无状态。每次请求都会断开。建立新的断开,建立断开-----协议是

是指协议对于 没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

 

 

例题:

利用API接口查询天气预报,API:调用接口时给其数据并返回我们需要的数据

国家气象局天气预报接口API,可根据地区名称、经纬度、IP查询对应地区的天气预报。 接口返回7天的数据,包括白天晚上的温度、湿度、风速、风向、风力,一氧化碳、二氧化氮等PM 2.6空气质量指数,穿衣、出行、洗车等生活指数。7天天气范围的预报每天更新3次,分别是9点,12点,18点。实时天气情况每30分钟更新1次。

利用API接口查询天气
$showapi_appid, 'area'=>'青岛'); //创建参数(包括签名的处理)function createParam ($paramArr,$showapi_secret) { $paraStr = ""; $signStr = ""; ksort($paramArr); foreach ($paramArr as $key => $val) { if ($key != '' && $val != '') { $signStr .= $key.$val; $paraStr .= $key.'='.urlencode($val).'&'; } } $signStr .= $showapi_secret;//排序好的参数加上secret,进行md5 $sign = strtolower(md5($signStr)); $paraStr .= 'showapi_sign='.$sign;//将md5后的值作为参数,便于服务器的效验 //echo "排序好的参数:".$paraStr."
"; return $paraStr;} $param = createParam($paramArr,$showapi_secret);$url = 'http://route.showapi.com/9-2?'.$param; //echo "请求的url:".$url."
";$result = file_get_contents($url);echo "返回的json数据:";$result = json_decode($result);//var_dump($result); //返回object//将object转换为数组$attr = object_array($result);function object_array($array){ if(is_object($array)) { $array = (array)$array; } if(is_array($array)) { foreach($array as $key=>$value) { $array[$key] = object_array($value); } } return $array;}echo "今天的最高温度是:{
$attr['showapi_res_body']['f1']['day_air_temperature']}";//查询最高温度var_dump($attr);?>
View Code

 

补充:

TCP(Transmission Control Protocol )是一种面向连接的、可靠的、基于字节流的通信协议,在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内[1] 另一个重要的传输协议。在因特网协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。

当网络通信时采用TCP协议时,在真正的读写操作之前,server与client之间必须建立一个连接,当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接,连接的建立是需要三次握手的,而释放则需要4次握手,所以说每个连接的建立都是需要资源消耗和时间消耗的

HTTP超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收页面的方法。

与服务器进行动态交互的出现之后,HTTP无状态的特性严重阻碍了这些应用程序的实现,毕竟交互是需要承前启后的,简单的程序也要知道用户到底在之前选择了什么商品。于是,两种用于保持HTTP连接状态的技术就应运而生了,一个是 ,而另一个则是 。HTTP本身是一个无状态的 ,为了支持 与服务器之间的交互,我们就需要通过不同的技术为交互存储状态,而这些不同的技术就是和了。

 

转载于:https://www.cnblogs.com/Duriyya/p/5541470.html

你可能感兴趣的文章
【Django实战开发】案例一:创建自己的blog站点-1.安装及搭建开发环境
查看>>
Pie(二分)
查看>>
Mysql 索引优化
查看>>
09湖州二模(自选模块不等式)
查看>>
Mybatis Batch 批量操作
查看>>
Ubuntu server搭建Java web服务器
查看>>
WSGI学习系列WSME
查看>>
java读取xml配置文件和properties配置文件
查看>>
HDU 4300 Contest 1
查看>>
POJ 3311
查看>>
Button MouseEvent颜色变化
查看>>
Volist标签
查看>>
浅谈模块化
查看>>
14个免费访客行为分析工具
查看>>
beego orm关联查询之多对多(m2m)
查看>>
(转)arguments.callee移除AS3匿名函数的侦听
查看>>
onNewIntent调用时机
查看>>
MYSQL GTID使用运维介绍(转)
查看>>
Fail to start neutron-server
查看>>
景安快运挂在磁盘-支持宝塔
查看>>