Android Http连接和TCP连接的区别
来源:互联网 发布:淘宝店铺名字怎么修改 编辑:程序博客网 时间:2024/05/17 23:33
最近看到论文里提到某个架构选用TCP连接而不是Http连接,意识到自己不知道这两者的区别,遂查资料补一下知识。
参考自以下博客内容:
http://blog.csdn.net/yangzl2008/article/details/7366428
http://blog.csdn.net/xyylchq/article/details/7660915
http://blog.csdn.net/xuyide54321/article/details/7075222
再用自己的话总结提炼一下:
题目是Android Http连接和TCP连接的区别,因为我关注的使用场景是Android环境,其实不管是Android还是PC,应该都是一样的。
Http是应用层协议,TCP是网络层协议,应用层在TCP/IP四层架构中位于TCP的上一层。建立Http连接在实现时有以下两种方式
DefaultHttpClient http = new DefaultHttpClient();HttpGet method = new HttpGet(url); HttpResponse response =http.execute(method);
URL url = new URL(uri);HttpURLConnection connection = (HttpURLConnection)url.openConnection();connection.connect();
而TCP连接在实现时要借助Socket(套接字 IP+端口号)
Socket s = new Socket("localhost", 12345);
我觉得区别从这两个连接的实现方式就可以看出来,HTTP连接需要指明资源的URL,发出请求的应用不知道服务器的IP,虽然域名服务器也是要把域名解析成IP地址,但不属于应用所关心的范畴,是网络层应该完成的工作。所以Http连接属于无状态的短连接,若再请求其他数据,需要再重新建立连接。客户端向服务器发送请求后,服务器才知道客户端的存在。
TCP连接实现时需要指明IP地址和端口号,就可以跟目的主机通过三次握手建立联系,该连接一直保持直到某一方提出取消连接,通过四次握手关闭连接。Socket支持TCP/UDP协议,如果使用TCP协议,那么socket连接就是TCP连接。论文提到的应用场景是手机与云端的服务器建立联系,因为要保持连接并指定连接的建立时间,所以在这种场景下使用TCP连接最合适。3G网络不支持端到端建立TCP连接,因为它是client-server模式,所以需要通过云端服务器的辅助来实现手机的端到端通信。
TCP连接实现时需要指明IP地址和端口号,就可以跟目的主机通过三次握手建立联系,该连接一直保持直到某一方提出取消连接,通过四次握手关闭连接。Socket支持TCP/UDP协议,如果使用TCP协议,那么socket连接就是TCP连接。论文提到的应用场景是手机与云端的服务器建立联系,因为要保持连接并指定连接的建立时间,所以在这种场景下使用TCP连接最合适。3G网络不支持端到端建立TCP连接,因为它是client-server模式,所以需要通过云端服务器的辅助来实现手机的端到端通信。
- Android Http连接和TCP连接的区别
- Android Http连接和TCP连接的区别
- Android Http连接和TCP连接的区别
- Android Http连接和TCP连接的区别
- 【Android】HTTP和Socket连接的区别
- Http 和TCP的关系,TCP长连接和短连接有什么区别?
- Http 和TCP的关系,TCP长连接和短连接有什么区别?
- TCP连接、HTTP连接与Socket连接的区别
- TCP和UDP的区别于联系,Scoket连接和HTTP连接的区别
- tcp连接和http连接
- socket连接和http连接的区别
- socket连接和http连接的区别
- socket连接和http连接的区别
- socket连接和http连接的区别
- socket连接和http连接的区别
- socket连接和http连接的区别
- Socket连接和HTTP连接的区别
- socket连接和http连接的区别
- C++,局部变量在栈上的地址,Release 和 Debug版本是不一样的
- kindle 资源整理 (将持续更新)
- GetFLV.v9.1.1.8-kg-REPT
- 七夕从期待变成陌生
- 多系统,多种浏览器下:文件上下载的文件名和路径问题
- Android Http连接和TCP连接的区别
- mfc CDialogBar 拖出的button控件是灰的,怎么处理
- [转]逻辑主键和联合主键,一定要讨论清楚!
- VC++中通过ADO中的_RecordsetPtr操作数据库:增删改查
- 再谈IE6之Fixed定位
- [收集]什么是父表和子表
- Android中绘制圆角矩形图片及任意形状图片
- Linux下分割、合并文件——dd和cat
- Android 4.1果冻豆新特性详解