模仿AirAndroid---方便简单的Android手机PC管家

来源:互联网 发布:网络教育什么时候考试 编辑:程序博客网 时间:2024/04/29 09:12

项目内容:一款不需要安装驱动,不需要PC安装软件的Android手机管理软件

谈下我这个项目的思路:
背景:看到同学的一款软件AirAndroid。一款通过网页去管理Android手机的软件(需要跟电脑统一WIFI下),免去了PC机装手机驱动,管理软件等的困扰。于是想到,国内这种软件,少之又少,AirAndroid还有流量限制。于是想自己开发一个。


思路:把手机作为服务器,浏览器作为客户端。浏览器去请求出网页来。由于普通http协议,只支持一次通讯,于是想到了WebSocket。其中WebSocket服务器也在手机中。浏览器将相关动作传给服务器(手机)。服务器执行后,将结果反馈给浏览器。

开发进度:已经把服务器框架搭建好,实现了查看通讯录的功能。后面功能将继续实现。奋斗

websocket服务器-java实现
握手协议之类什么的,看的稀里糊涂。想自己写,实在没看懂。网上找的一个java写的服务器大哭

感谢下大神:hoverlees.
http://www.hoverlees.com/blog/?p=1624

下面协议目的:毫无目的可言。就是老师让我讲下我的项目的一些协议,我就从网络上摘抄了些下来。

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

下面是一些协议,想了解的同学了解下,不想了解就忽略吧。内容挺枯燥的,但我整理完后,发现还是有收获的。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

IP协议

1、Internet体系结构

      一个TCP/IP互联网提供了三组服务。最底层提供无连接的传送服务为其他层的服务提供了基础。第二层一个可靠的传送服务为应用层提供了一个高层平台。最高层是应用层服务。
2、IP协议: 这种不可靠的、无连接的传送机制称为internet协议。
3、IP协议三个定义:
    (1)IP定义了在TCP/IP互联网上数据传送的基本单元和数据格式。
    (2)IP软件完成路由选择功能,选择数据传送的路径。

    (3)IP包含了一组不可靠分组传送的规则,指明了分组处理、差错信息发生以及分组的规则。


UDP协议

◇ UDP---用户数据报协议,是一个简单的面向数据报的运输层协议。
◇ UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。
◇ 由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快

TCP协议

TCP---传输控制协议,提供的是面向连接、可靠的字节流服务。
当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。

TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。


TCP连接过程

连接过程分为三个步骤:服务器监听,客户端请求,连接确认。

服务器监听:服务器端套接字处于等待连接的状态,实时监控网络状态,等待客户端的连接请求 。(绑定端口,accpt())
客户端请求:指客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地     址和端口号,然后就向服务器端套接字提出连接请求。(绑定服务器地址,端口)

连接确认:当服务器端套接字监听到或者说接收到客户端套接字的连接请求时,就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端确认了此描述,双方就正式建立连接


HTTP协议

HTTP协议永远都是客户端发起请求,服务器回送响应。
这样就限制了使用HTTP协议,无法实现在客户端没有发起请求的时候,服务器将消息推送给客户端。

HTTP协议是一个无状态的协议,同一个客户端的这次请求和上次请求是没有对应关系。


HTTP连接过程
HTTP连接四个步骤:
  (1) 连接:Web浏览器与Web服务器建立连接,打开一个称为socket(套接字)的虚拟文件,此文件的建立标志着连接建立成功。 
  (2) 请求:Web浏览器通过socket向Web服务器提交请求。
  (3) 应答:Web浏览器提交请求后,通过HTTP协议传送给Web服务器。Web服务器接到后,进行事务处理,处理结果又通过HTTP传回给Web浏览器,从而在Web浏览器上显示出所请求的页面。
  (4) 关闭连接:当应答结束后,Web浏览器与Web服务器必须断开,以保证其它Web浏览器能够与Web服务器建立连接。
HTTP特点
HTTP连接最显著的特点是客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接。从建立连接到关闭连接的过程称为“一次连接”。
      1)在HTTP 1.0中,客户端的每次请求都要求建立一次单独的连接,在处理完本次请求后,就自动释放连接
      2)在HTTP 1.1中则可以在一次连接中处理多个请求,并且多个请求可以重叠进行,不需要等待一个请求结束后再发送下一个请求。


HTTP通讯过程

即时通讯
现很多网站为了实现即时通讯(real-time),所用的技术都是轮询(polling)。轮询是在特定的的时间间隔(time interval)(如每1秒),由浏览器对服务器发出HTTP request,然后由服务器返回最新的数据给客服端的浏览器。这种传统的HTTP request d的模式带来很明显的缺点 – 浏览器需要不断的向服务器发出请求(request),然而HTTP request 的header是非常长的,里面包含的数据可能只是一个很小的值,这样会占用很多的带宽。

而最比较新的技术去做轮询的效果是Comet – 用了AJAX。但这种技术虽然可达到全双工通信,但依然需要发出请求(reuqest)。


WebSocket 

WebSocket  是HTML5一种新的协议(protocol)。它是实现了浏览器与服务器全双工通信。
在 WebSocket API,浏览器和服务器只需要要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。在此WebSocket 协议中,为我们实现即时服务带来了两大好处:
1. Header
    互相沟通的Header是很小的-大概只有 2 Bytes
2. Server Push

    服务器可以主动传送数据给客户端


WebSocket支持的浏览器
Chrome Supported in version 4+
Firefox Supported in version 4+
Internet Explorer Supported in version 10+
Opera Supported in version 10+

Safari Supported in version 5+


WebSocket服务器

在服务器端,也出现了一些实现websocket协议的项目:
jetty 7.0.1 包含了一个初步的实现
resin 包含有websocket 实现
pywebsocket, apache http server 扩展
apache tomcat 7.0.27 版本
Nginx 1.3.13 版本

websocket api在浏览器端的广泛实现似乎只是一个时间问题了, 值得注意的是服务器端没有标准的api, 各个实现都有自己的一套api, 并且jcp也没有类似的提案, 所以使用websocket开发服务器端有一定的风险.可能会被锁定在某个平台上或者将来被迫升级.

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

以上摘抄自:百度百科,博客文章等之中


----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


IP协议
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 在12306买不到下铺怎么办有 地铁票买反了怎么办 香港买错特惠票怎么办 到达迪拜t3 后怎么办 海藻面膜调多了怎么办 被鸡爪子抓伤了怎么办 被鸡抓伤肿了怎么办 护士电子化没有激活码怎么办 窗帘盒螺丝掉了怎么办 窗帘的环扣掉了怎么办 门式起重吊装行车脱轨怎么办 在日本丢了东西怎么办 在日本钱包丢了怎么办 被起诉后没钱还怎么办 分期付款卖车打不起车款怎么办 地铁票买多了怎么办 工伤陪护费没有发票怎么办 工伤医疗费报销单位不盖章怎么办 家里的led灯坏了怎么办 吊顶led灯坏了怎么办 客厅空了一面墙怎么办 轨道灯的轨道不够长怎么办 奔驰大灯不亮了怎么办 led顶灯不亮了怎么办 吸顶灯led灯坏了怎么办 车底盘塑料被刮怎么办 汽车门电机坏了怎么办 宁波北仑普高差三分该怎么办 上班的地方甲醛味很重怎么办 公司不给员工交社保怎么办 户口转到学校毕业了怎么办 外地户口转到北京档案怎么办 隧道防水板过紧怎么办 到国企没报到证怎么办 车子锁了油箱盖能开怎么办 单位不接受档案和户口怎么办 完税凭证弄丢了怎么办 育种玉米公本早了怎么办 网银转账打错了怎么办 转账名字打错了怎么办 普通转账名字打错了怎么办