首页 > 代码库 > 手机服务器微架构设计和实现专题

手机服务器微架构设计和实现专题

9.29

开始动手看着慕课网的视频去学习手机服务器微架构实现,原因是:

现在自己想要认真地学习了解android的基本网络知识,以及其实践

一.知识准备

首先,我要了解tcp、udp和http的关系,了解自己需要在什么情况下选择哪个。

 

然后,就是我需要了解的是http的实现原理。 据说这个是我们面试时有可能需要考到的,其实,我需要的是弄清楚

request和accept需要做的是什么

 

最后,是关于http的解析过程。

二.写代码过程

接下来,就是跟着视频写代码 :

首先是设定accept socket ,服务器的核心。

这个过程中,开动了异步接受信息过程。

 

accept socket过程

1.定义地址,类是InetSocketAddress,传已经写好的地址进去

2.定义远程客户端的发射器,serversocket.accept()

3.开动线程池去执行客户端发送信息到服务端后的处理信息过程。

 

解析headers过程

1.接收到信息后,就需要了解这个headers的信息处理过程。首先,了解http协议

其实,header==value 间,都有一个\r\n 隔开。

 

将信息分割存储

1.url路由,一开始我不了解,后来了解到,是服务器根据接收到的指定域名,选择对应的处理方法。

然后每个处理方法都需要在主程序中注册好,方便使用。

然后,根据分割后的一个域名,去寻找到对应的方法。

 

通过wifi 传图

1.在传图的方法中,首先定义一个文件,然后不断把信息写进去

2.通过在activity回调,使用方法,在服务端上显示。

 

思考:

(1)整个过程中,url路由使用了设计模式,具体还是需要自己找找。

(2)解析http过程中,需要对一些规则的了解以及字符串的处理,这个需要熟悉使用string方法。

(3)自己还是要理解基本的http通信原理,方便自己在使用api过程中更加准确。

(4)自己还是需要通过官方文档,去查询每个api的原理和使用方式。

(5)也可以看到自己需要了解客户端是如何发送信息的(看第一行代码)

(6)这次是一个很好的突破,让自己去主动的找一些demo来加深自己的认知。

(7)对于网络方式,还是需要在androidmanifest上添加权限

(8)telnet  在macbook 终端的使用,还是很方便的,也是很方便通过关于手机查询到手机的ip

 

手机服务器微架构设计和实现专题