,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
分享到:
相关推荐
在本文中,我们将深入探讨如何在Visual Studio 2010环境下使用TCP_Socket进行网络通信。TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,广泛应用于互联网上的各种服务,如HTTP、FTP等。...
标题中的“Modbus-Tcp采用Socket与NModbus两种方式”指的是在实现基于Modbus-TCP协议的通信时,采用了两种不同的技术手段:Socket编程和使用NModbus库。这两种方法都是为了与支持Modbus-TCP协议的设备进行数据交换。...
本资源"欧姆龙TCP UDP Socket网络通讯.zip"提供了关于如何利用TCP和UDP协议通过Socket进行欧姆龙PLC设备通信的实例。以下是关于这个主题的详细知识点: 1. **Socket基础**: - Socket是一种网络编程接口,用于在...
在IT行业中,网络编程是不可或缺的一部分,而TCP Socket通信作为网络通信的基础,其调试工作尤为重要。标题提到的“好用的Tcp Socket调试工具”显然是一款能够帮助开发者解决TCP Socket通信问题的有效辅助软件。描述...
本文将从初始化、创建socket、绑定地址、监听连接、接受连接、数据传输以及关闭socket等步骤,详细介绍如何使用VC进行TCP socket编程。 #### 二、初始化Winsock库 在使用socket编程之前,必须先初始化Winsock库。...
下面我们将详细探讨TCP Socket编程及其相关知识点。 TCP(Transmission Control Protocol)是一种面向连接的、可靠的传输协议,它通过三次握手建立连接,确保数据的无丢失、有序和无重复传输。TCP协议提供了全双工...
TCP/UDP socket 调试工具 TCP/UDP socket 调试工具 SocketTool调试软件是一款网络TCP/UDP通信调试工具,本工具集功能强大与简单易用为一体,是无需安装的免费绿色软件。她可以帮助网络编程人员、网络维护人员检查所...
基于TCP,socket通信,简单小程序,很适合初学者
《Java TCP/IP Socket编程(原书第2版)》基于TCP/IP Socket相关原理,对如何在Java中进行Socket编程作了深入浅出的介绍。《Java TCP/IP Socket编程(原书第2版)》内容简明扼要,条理清晰,并在讲解相应的概念或编程...
3. **关闭资源**:通信完成后,关闭`Socket`及其相关的输入输出流。 在实际编程中,还需要考虑异常处理和多线程。服务器端的`accept()`方法可能会抛出`IOException`,需要捕获并处理。此外,为了同时处理多个客户端...
本书不仅详细介绍了Socket的工作原理,还提供了丰富的示例代码,使读者能够通过实践加深对这一主题的理解。 ### 一、Socket编程基础 #### 1.1 Socket概念 Socket是网络编程中的基本概念,它为应用程序提供了一种...
本教程将围绕TCP套接字,深入讲解相关知识,并以一个简单的TCP Socket通信程序为例,帮助初学者快速上手。 首先,TCP是一种面向连接的、可靠的传输协议,它在数据传输前会建立连接,确保数据能够按序、无丢失地到达...
"基于TCP/IP的socket编程"是一个深入探讨如何使用socket接口进行网络通信的主题。Socket编程允许应用程序通过网络发送和接收数据,它是互联网上不同计算机之间交互的核心机制。 在给定的描述中,我们看到一个创新的...
本文将深入探讨基于TCP的Socket编程,特别是以C++为编程语言的应用。适合对网络编程感兴趣的初学者,通过学习,你可以了解如何创建、连接和管理TCP套接字。 首先,TCP是一种面向连接的传输层协议,它提供了可靠的、...
SocketTcp_TcpSocket服务端框架是一个专为开发者设计的简单且通用性强的TCP服务器实现。这个框架旨在简化网络编程过程,让开发者能够快速构建自己的TCP服务应用,只需要对原有代码进行少量修改,即可轻松地将其集成...
本文将深入探讨TCP_Socket.zip中的SocketDemo.exe及其相关的TCP/IP Socket编程知识。 TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,它确保数据包在网络中按顺序...
在IT行业中,网络编程是至关重要的领域,而TCP(传输控制协议)的Socket编程是其中的基础。本主题将深入探讨如何使用C语言实现TCP的Socket编程,包括客户端和服务端的构建。TCP是一种面向连接的、可靠的传输协议,而...
标题中的"WIN32 TCPsocket"指的是在Windows 32位平台上使用TCP协议进行网络通信的编程技术。TCP(Transmission Control Protocol)是一种面向连接、可靠的传输协议,它保证了数据包在互联网上的有序和无损传输。在...
在IT领域,网络通信是不可或缺的一部分,而TCP...通过`File_client.java`和`File_server.java`这两个文件,我们可以学习到如何在Java中实现TCP服务器和客户端的交互,这对于理解网络编程和开发相关应用至关重要。
在IT行业中,网络通信是至关重要的一个领域,而TCP Socket编程是实现网络通信的基础。本文将深入探讨TCP Socket,以及如何使用它来实现简单的TCP协议。TCP(Transmission Control Protocol)是一种面向连接、可靠的...