黑马程序员技术交流社区
标题:
java的网络连接
[打印本页]
作者:
周斌
时间:
2012-10-31 18:32
标题:
java的网络连接
本帖最后由 周斌 于 2012-11-7 12:09 编辑
Socket进行建立网络连接与通过URL直接进行网络数据的传递,有什么区别,谢谢
作者:
奋斗的青春
时间:
2012-10-31 20:48
本帖最后由 吴愿涛 于 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。一种是在连接请求的建立时会发生;另一种指连接建立好后,如果有段时间没有数据接收或是发送就会发生。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2