tcp协议.代码和特点

TCP协议:

  代码

  特点:

    可靠

    全双工

  缺点:

    效率低:

建立连接: 

  三次握手:

流程图

  为什么使用tcp协议:

  四次挥手:

  流程图:

  sever服务端

import socket
#创建一个socket对象
sk = socket.socket()#建立一个手机
sk.bind(("127.0.0.1",9000))#插上个电话卡
sk.listen()


conn,addr =sk.accept()
msg = conn.recv(1024)#建立连接 等待阻塞
print(msg.decode("utf-8"))
conn.send("你好".encode("utf-8"))#对服务段要说的话是
conn.close()#结束对话


sk.close()#关闭
 

起web服务   永远先启动服务端

sever端  服务端

端口被占的原因:

  bind 已经向操作系统申请了一个9000的端口

  如果9000没有被占用,name就批准给你使用

  直到sk.close的时候这个端口才归还给操作系统

  程序结束但是忘记close关闭

  那么操作系统就不能及时发现这个端口已经被归还

  当你重启程序再次申请使用9000端口的时候

  操作系统告诉你这个端口被占用

流程图:

  

UDP协议:

  代码:

  


import socket
#创建一个搜查客人整个socket
sk = socket.socket() #建立一个手机

sk.connect(("127.0.0.1",9000))#插上手机卡

sk.send("早".encode('utf-8'))
ret = sk.recv(1024)#建立连接  阻断等待传输
print(ret.decode("utf-8"))
sk.close()
 

 client 客户端  后启动

解释图

  

原文地址:https://www.cnblogs.com/liurenli/p/10058705.html