手机服务器微架构设计和实现专题
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