您的位置:首页 > 理论基础 > 计算机网络

TCP连接

2015-11-01 11:45 253 查看
#xiaodeng
#TCP连接
#HTTP权威指南 83

#HTTP连接时HTTP报文传输的关键通道。编写http应用程序的程序员需要理解http连接的来龙去脉及如何使用这些连接。
#TCP连接:
#世界上几乎所有的http通信都是tcp/ip承载。客户端应用横须可以打开一条tcp/ip连接,连接到可能运行在世界任何地方的服务器应用程序。一旦连接建立起来,在客户端和服务器的计算机之间交换的报文就不会丢失。

#如:http://www.joes-hardware.com:80/power-tools.html
#浏览器收到这个URL,会进行下面的步骤:
#第1~3步:会将服务器的IP地址和端口号从URL中分离出来
#第4步:建立到web服务器的tcp连接
#第5步:通过这条连接发送一条请求报文
#第6步:读取响应
#第7步:关闭连接。

#4.1.1 TCP的可靠数据管道
#http连接实际上就是tcp连接和一些使用连接的规则。
#要想正确、快速的发送数据,就需要了解tcp的一些基本知识 。
#如下图--(web浏览器提供TCP连接与web服务器进行交互)

#4.1.2 TCP流是分段的,由IP分组传送的
'''
HTTP要传送一条报文时,会以流的形式将报文数据的内容通过一条打开的TCP连接按序传输
TCP收到数据流之后,会将数据流砍成被称作段的小数据块,并将段封装在ip分组中,通过因特网进行传输。
所有这些操作都有TCP/ip软件来处理,程序员无法看到。
'''
#4.1.3 保持TCP连接的正确运行
'''
1、在任意时刻,计算机都可以有几条TCP连接处于打开状态,TCP是通过端口号来保持所有这些连接的正确运行
2、端口号和雇员使用的电话分机号很类似。
3、TCP连接通过4个值来识别:<源IP地址、源端口号、目的IP地址、目的端口号>
'''
#4.1.4 用TCP套接字编程
'''
1、操作系统提供了一些操作TCP连接的工具。---TCP编程接口
'''

表4-2 对TCP连接进行编程所需的常见套接字接口函数
——————————————————————————————————————————————————————————————————————————————————
套接字API调用                                描述
==================================================================================
s=socket(<parameters>)                         创建一个新的,未命名的、未关联的套接字
bind(s,<local IP:port>)                        向套接字赋一个本地端口号和接口
connect(s,<remote IP:port>)                    创建一条连接本地套接字与远程主机及端口的连接
listen(s,....)                                 标识一个本地套接字,使其可以合法接受连接
s2=accept(s)                                   等待某人建立一条道本地端口的连接
n=read(s,buffer,n)                             尝试从套接字向缓冲区读取n个字节
n=write(s,buffer,n)                            尝试从缓冲区中向套接字写入n个字节
close(s)                                       完全关闭TCP连接
——————————————————————————————————————————————————————————————————————————————————
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: