TCP连接
#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连接 ——————————————————————————————————————————————————————————————————————————————————
无语言基础,自学python所做的各种笔记,欢迎大牛指点.