,Http协议是应用层协议,对传输层Tcp协议进行了封装,是无状态协议
术语 TCP/IP代表传输控制协议/网际协议,指的是一系列协议。“IP”代表网际协议,TCP和UDP使用该协议从一个网络传送数据包到另一个网络。把IP 想像成一种高速公路,它允许其它协议在上面行驶并找到到其它电脑的出口。TCP和UDP是高速公路上的“卡车”,它们携带的货物就是像HTTP,文件传输协议FTP这样的协议等。
你应该能理解,TCP和UDP是FTP,HTTP和SMTP之类使用的传输层协议。虽然TCP和UDP都是用来传输其他协议的,它们却有一个显著的不同:TCP提供有保证的数据传输,而UDP不提供。这意味着TCP有一个特殊的机制来确保数据安全的不出错的从一个端点传到另一个端点,而UDP不提供任何这样的保证。
HTTP(超文本传输协议)是利用TCP在两台电脑(通常是Web服务器和客户端)之间传输信息的协议。客户端使用Web浏览器发起HTTP请求给Web服务器,Web服务器发送被请求的信息给客户端。
记住,需要IP协议来连接网络;TCP是一种允许我们安全传输数据的机制,,使用TCP协议来传输数据的HTTP是Web服务器和客户端使用的特殊协议。
Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口
--稍微了解
java.net.URL源码、
http://www.docjar.com/html/api/org/apache/harmony/luni/internal/net/www/protocol/http/HttpConnection.java.html和
http://www.docjar.com/html/api/org/apache/harmony/luni/internal/net/www/protocol/http/HttpURLConnectionImpl.java.html以及
http://www.docjar.com/html/api/org/apache/harmony/luni/internal/net/www/protocol/http/Handler.java.html
相关代码。
也可以看看
http://zhoujianghai.iteye.com/blog/1195988
1、对于urlconnection的定义:
langyu:如果用户想通过应用层往其它地方发送数据,就得使用应用层封装的“接口”-用户不用管它后面是如何传输与通信的 - URLConnection就可以理解为这层接口。
也就是那句话,urlconnection是对socket的封装
2、对于socket的定义:
逻辑连接控制。可以很通俗的理解为“电话机”,还有langyu提到的“港口”。
比如我要给某人电话,我直接拨号就可以,不用关心电信号的转换和传播,在港口我要发货,你告诉我地址就可以,货物就会发往目标港口。
就是说, new Socket("192.168.1.100",8888) 在不抛出异常的情况下,逻辑上的连接就已经建立了 。
共同点:
都可以与服务器建立连接
不同点:
引用 Cindy_Lee
本质上都是socket传输报文,只是用UrlConnection传输的报文是http协议格式的(其实就是多出一个http协议的报文头)
作用上来说 用UrlConnection连接,服务器可以是一些常用的web服务器,而用socket连接的服务器不能用web服务器,除非你模拟传输http协议的报文
不知道这样理解对不对?
对于用urlconnection还是socket呢, 我觉得,如果是web服务器,则urlconnection 。 如果是serversocket (一般成对出现)
那么使用socket 建立连接 。
我会回做个试验,看看urlconnection能不能连接serversocket
分享到:
相关推荐
VC学习笔记 基于TCP的socket编程
基于TCP,socket通信,简单小程序,很适合初学者
此案例采用modbus-tcp协议与设备进行通信,且分别应用Socket与第三方组件NModbus两种方式进行通信。
《Java TCP/IP Socket编程(原书第2版)》基于TCP/IP Socket相关原理,对如何在Java中进行Socket编程作了深入浅出的介绍。《Java TCP/IP Socket编程(原书第2版)》内容简明扼要,条理清晰,并在讲解相应的概念或编程...
TCP/UDP socket 调试工具 TCP/UDP socket 调试工具 SocketTool调试软件是一款网络TCP/UDP通信调试工具,本工具集功能强大与简单易用为一体,是无需安装的免费绿色软件。她可以帮助网络编程人员、网络维护人员检查所...
TCP/UDP Socket调试工具 V2.3
包含sockettool,FINS TCP案例,FINS UDP案例,SOCKET通讯案例等
基于TCP协议的Socket的网络编程,客户端和服务器之间可以相互发送消息。
TCP IP Socket 免费 个人收集电子书,仅用学习使用,不可用于商业用途,如有版权问题,请联系删除!
tcp(socket)通讯源代码,包括客户端,服务端
基于TCP的Socket编程服务器和客户端代码
c实现TCP的socket编程 包含一个客服端和一个服务端
基于TCP的SOCKET编程,采用C++编写的源码。有需要的朋友看看。适合初学者。
基于tcp的简单socket通信程序,比较适合初学者
基于tcp连接的socket编程,简单实现基于tcp的server端和client端的连接。
用其它的工具没有调试成功,用此工具调试成功了,所以就留一份备用。
本文详细介绍了基于Socket的UDP和TCP的编程原理和方法,适合于那些对UDP/TCP的socket编程不太清楚的同学
Java TCP IP Socket编程 包含源码 书是第二版的 代码是随书代码
《Java TCP IP Socket编程(原书第2版)》
Tcp Socket 源码程序 TCP/IP socket Class 源码程序