毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

简易Android HTTP 服务应用的设计

更新时间:2016-8-27:  来源:毕业论文
4.2设计过程
4.2.1首先遇到的问题就是什么是http,在之前没了解过http,所以要写http,我必须先了解http
然后我查找了相关的http信息,了解到http协议其实就是tcp协议,他是通过三次握手来连接的。
4.2.2既然http使用的tcp的协议方法,但是我还是不知道怎么写,之前我学过c++的tcp协议,建立ftp的服务器。但是java的建立方式不一样,我查了些资料

4.2.3通过以上的方式我就可以写程序了
1.我首先new一个我建立一个serversocket在本地80端口监听,建一个循环,如果接收到请求就是socket.accpet到一个socket,那我就建立一个线程,我用readLine这个读取接收到的一行数据
2.打开浏览器,输入我本地地址和我写的html文件名,根据收到的信息,我相应的吧那个html转成byte数据传给客户端责任胜于能力演讲稿

4.2.4首先我要连接html要用什么方式来上传。
1.如果要做上传功能,那就是说要将静态网页变成动态网页
而我用的java语言,那么我要写动态网页就要写jsp
Jsp是很好,但是我的服务器将放到Android平台上,而jsp运行时,必须用java转成html以后才能发给客户端。如果在Android平台上运行是无法将jsp转成html的。也就是我必须放弃动态网页计划。
2.我利用inputstream读取到post方式上传的文件的信息,信息是由http包头加上文件信息都在socket里面能读取出来,那也就是我,我可以把socket里面的数据全部读取出来,然后将数据中文件以外的数据跳过
问题1:文本文件接收没问题,但是其他文件会出错。
记过我了解,发现是编码问题,我做了一件事,就是将未知的编码装成ASCII编码而导致错无。我明白到我要直接算出我要的文件开始点,该怎么办。根据我了解:
那个http的头文件全是ASCII编码,而且每端都用\n还分割。那么我就要读取一定数量的的socket所接收的信息。这样就能解决这个问题。
问题2. 就是我所上传的文件做多8kb左右。
解决的方案:就是发现inputstream接收到的数据最大只有8k,一开始以为是每次accpet以后才能inputstream接收一次。后来想了想一起c++的的连接过程:
之前学过c++的网络编程,我回想了一下。
在一次accpet以后可以进行多次的发送和接收。那么java的应该在accpet后面也可以多次发送和接收,那么我也可以尝试下。
结果发现是的,文件过大的话,可以使用多次接收来把文件全部接收,而且第二次接收到的信息没有包头,我可以直接接收后保存起来。

上一页  [1] [2] [3] [4] [5] [6] [7] 下一页

简易Android HTTP 服务应用的设计 第5页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。