TCP/IP Socket 的理解

网络由下往上分为:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。

TCP 协议对应于传输层,HTTP 协议对应应用层,Socket 则是对 TCP/IP 协议的封装。

也可以说 TCP/IP 协议是传输层协议,主要解决数据如何在网络中传输,HTTP 是应用层协议,解决如何包装传输的数据。

实际上 Socket 是对 TCP/IP 协议的封装,Socket 本身并不是协议,而是一个调用接口(API),通过 Scoket 我们才能使用 TCP/IP。

所以说 Socket 的出现只是使得程序员方便的使用 TCP/IP 协议栈而已,是对 TCP/IP 的抽象,从而形成一些我们知道的基本函数接口,

如 create、listen、connect、accpet、send、read等。

TCP/IP 只是一个协议栈,就像操作系统运行机制一样,必须要具体实现,同时还要提供对外的操作接口。这个就像操作系统会提供标准编程接口,

比如 Win32 编程接口,TCP/IP 也要提供可供程序员做网络开发所用的接口,就是 Scoket 编程接口。

时间: 2024-10-14 12:58:30

TCP/IP Socket 的理解的相关文章

HTTP TCP/IP SOCKET的理解和它们之间的关系

参考网址:http://blog.csdn.net/lemonxuexue/article/details/4485877 http://blog.csdn.net/heyetina/article/details/8056575

mysql错误:Can’t create TCP/IP socket (10106)

昨天晚上十一点半,有个女同学打电话说电脑出问题了,说tomcat和mysql打不开了,各种急!因为后天就要答辩了,这些软件打不开,系统也就运行不起来!大半夜的让我怎么办,只好说明天早起帮看看! 早早的起来了,接过同学的电脑!回到宿舍看了一下,mysql果然打不开报了这样的错误"mysql错误:Can't create TCP/IP socket (10106)",目测是socket端口被占用的原因,然后在打开tomcat,报的错误中也包含了"socket",再一次加

Android TCP/IP Socket Test

TCP/IP协议:Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议.Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成.TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准.协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求.通俗而言:TCP负责发现传输的问题,一有问题就发出信号,

http tcp/ip socket

这两天重新看了下TCP/IP的基本概念,也重新看了下http协议,分别是<TCP/IP详解卷1:协议>和<Http:The Definitive Guide>这两本书. 看完后有两点感触: (1)基础的理论知识对工作还是有很大帮助.平时工作中,也许我们更多的关注问题怎么解决,而解决问题有多种方式,其中,来的快的就是百度或Android官网的开发文档,这两种方式基本能解决工作中的所有技术问题,且直接告诉你解决问题的方式(步骤或code直接上),这是互联网化知识共享的体现.而很多时候,

TCP IP SOCKET 笔记

网络由下往上分为 物理层.数据链路层.网络层.传输层.会话层.表示层和应用层. 通过初步的了解,我知道IP协议对应于网络层,TCP协议对应于传输层,而HTTP协议对应于应用层, 三者从本质上来说没有可比性, socket则是对TCP/IP协议的封装和应用(程序员层面上). 也可以说,TPC/IP协议是传输层协议,主要解决数据如何在网络中传输, 而HTTP是应用层协议,主要解决如何包装数据. 关于TCP/IP和HTTP协议的关系,网络有一段比较容易理解的介绍: “我们在传输数据时,可以只使用(传输

对TCP/IP协议的理解

话说两台电脑要通讯就必须遵守共同的规则,就好比两个人要沟通就必须使用共同的语言一样.一个只懂英语的人,和一个只懂中文的人由于没有共同的语言(规则)就没办法沟通.两台电脑之间进行通讯所共同遵守的规则,就是网络协议. 那么谁来制定这个网络协议? 国际标准化组织(ISO)定义了网络协议的基本框架,被称为OSI模型.要制定通讯规则,内容会很多,比如要考虑A电脑如何找到B电脑,A电脑在发送信息 给B电脑时是否需要B电脑进行反馈,A电脑传送给B电脑的数据的格式又是怎样的?内容太多太杂,所以OSI模型将这些通

一个项目看java TCP/IP Socket编程

前一段时间刚做了个java程序和网络上多台机器的c程序通讯的项目,遵循的是TCP/IP协议,用到了java的Socket编程.网络通讯是java的强项,用TCP/IP协议可以方便的和网络上的其他程序互通消息. 先来介绍下网络协议:     TCP/IP         Transmission Control Protocol 传输控制协议         Internet Protocol 互联网协议     UDP         User Datagram Protocol 用户数据协议

【Java TCP/IP Socket】Socket编程知识点总结

简介 1.协议相当于相互通信的程序间达成的一种约定,它规定了分组报文的结构.交换方式.包含的意义以及怎样对报文所包含的信息进行解析. 2.TCP/IP协议族有IP协议.TCP协议和UDP协议. 3.TCP协议和UDP协议使用的地址叫做端口号,用来区分同一主机上的不同应用程序.TCP协议和UDP协议也叫端到端传输协议,因为他们将数据从一个应用程序传输到另一个应用程序,而IP协议只是将数据从一个主机传输到另一个主机. 4.在TCP/IP协议中,有两部分信息用来确定一个指定的程序:互联网地址和端口号:

【Java TCP/IP Socket】UDP Socket(含代码)

转载请注明出处:http://blog.csdn.net/ns_code/article/details/14128987 UDP的Java支持 UDP协议提供的服务不同于TCP协议的端到端服务,它是面向非连接的,属不可靠协议,UDP套接字在使用前不需要进行连接.实际上,UDP协议只实现了两个功能: 1)在IP协议的基础上添加了端口: 2)对传输过程中可能产生的数据错误进行了检测,并抛弃已经损坏的数据. Java通过DatagramPacket类和DatagramSocket类来使用UDP套接字