TCP套接字编程 整理《计算机网络——自顶向下方法(James F. Kurose, Keith W. Rose)》

       与UDP不同,TCP是一个面向连接的协议。这意味着,在客户端和服务器能够开始互相发送数据之前,它们要先握手和创建一个TCP连接。连接建立之后,当有一方需要给另一方发送数据,它只需经套接字把数据丢个TCP连接,无需再为数据附上目的地地址。

1. 下面讨论一下TCP客户程序和服务程序的交互,

①客户程序具有发起接触的任务。而服务程序为了能够对接触做出反应,它必须先运行起来,并且具有一个欢迎套接字欢迎任意客户程序的接触。

②客户进程生成套接字,与服务进程进行三次握手后,服务进程生成一个新的连接套接字(这对客户程序和服务器程序是完全透明的),客户进程与服务器进程建立起一个TCP连接。

③双方通过这一个TCP连接发送和接受数据。

如图1所示。


2. 接下来使用简单的客户-服务器应用程序来展示TCP套接字编程:客户向服务器发送一行数据,服务器将其改为大写并返回客户。图2注重显示了客户和服务器的主要与套接字相关的活动:客户程序只需要知道服务程序的IP和欢迎套接字的端口号。而TCP连接的建立由运输层完成:


以下代码在python3中测试通过:

(1)客户程序

from socket import *
serve
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值