python 网络基础 tcp相关知识点笔记

TCP课程
概述
概念
传输控制协议
这是一个面向连接的协议
也就是说,在收发数据之前,必须和对方建立可靠的连接
一个TCP连接必须要经过三次“对话”才能建立起来
三次对话
第一次对话 : 主机甲向主机乙发送连接请求数据包“我可以给你发数据吗”
第二次对话 : 主机乙向主机甲发送同意连接和要求同步(同步就是两台数据同时收发,协调工作)“可以,你什么时候发”
第三次对话 : 主机甲再次向主机乙发出一个数据包确认主机乙的同步 “哥们现在就发了,你接着啊”
三次对话的目的是使数据包的发送和接收同步,经过三次“对话后”,主机甲向主机乙正式收发数据
三次握手和四次挥手
存在的意义
TCP协议适用于对速度要求相对较低,而准确性要求很高的场合
例如:文件传输、电子邮件等等
需要建立连接,数据传输、断开连接三个步骤
TCP
创建流程概述
socket创建一个套接字
bind绑定IP和port
listen使套接字变为可以被动链接
accept等待客户端的链接
close关闭资源
socket模块常用于TCP的方法
connect(address) : 连接远程计算机
send() : 发送数据
recv() : 接收数据
listen : 开始监听,等待客户端连接
参数问题实例
client
from socket import *
path = (‘127.0.0.1’,8888)
num = int(input(“请输入要连接的次数”))
for i in range(num):
cli = socket(AF_INET,SOCK_STREAM)
cli.connect(path)
print(i)
sever
from socket import *
import time
tcpSever = socket(AF_INET,SOCK_STREAM)
path = (‘127.0.0.1’,8888)
tcpSever.bind(path)
num = int(input(“请输入最大连接数”))
tcpSever.listen(num)
while True:
newSever,clientAddr = tcpSever.accept()
print(clientAddr)
time.sleep(1)
accept() : 响应客户端的请求
阻塞当前线程
如果没有计算机连接,一直等待
如果有计算机连接,响应客户端
TCP特点
稳定 : 保证数据接收
相对udp慢一些
web服务器一般使用TCP
套接字
socket创建出来的套接字是主动套接字
listen能够把主动套接字转化为被动套接字
TCP和UDP的区别
基于连接与无连接
对系统资源的要求(TCP较多,UDP较少)
UDP程序结构较简单
流模式与数据报模式
TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值