A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 周斌 中级黑马   /  2012-10-31 18:32  /  1646 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 周斌 于 2012-11-7 12:09 编辑

Socket进行建立网络连接与通过URL直接进行网络数据的传递,有什么区别,谢谢

评分

参与人数 1黑马币 +6 收起 理由
韩军博 + 6 神马都是浮云

查看全部评分

1 个回复

倒序浏览
本帖最后由 吴愿涛 于 2012-10-31 20:50 编辑

本质上都是socket传输报文,只是用UrlConnection传输的报文是http协议格式的(其实就是多出一个http协议的报文头)
作用上来说 用UrlConnection连接,服务器可以是一些常用的web服务器,而用socket连接的服务器不能用web服务器,除非你模拟传输http协议的报文
从网络分层来看,URLConnection是应用层的逻辑连接,而Socket是传输层的连接概念。Connection可以拿到"流",这是一个对应用封装过的数据表现;而Socket关注数据传输的控制逻辑,比如可以对Socket设置Receive/Send buffer size, tcp_nodel等。
相应地,一般我们在网络连接时有两种异常:ConnectionTimeout与SocketTimeout。一种是在连接请求的建立时会发生;另一种指连接建立好后,如果有段时间没有数据接收或是发送就会发生。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马