A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1、TCP协议
协议的特点:三次握手,四次挥手;
2、UDP协议
3、OSI七层模型:每层的物理设备,每一层协议。
4、代码部分:
①介绍socket;
②使用socket完成tcp协议的web通信;
③使用socket完成udp协议的web通信。
1、TCP协议1、可靠,慢,全双工通信2、建立连接的时候,三次握手3、断开连接的时候,四次挥手4、在建立起连接后发送的每条信息都有回执为了保证数据的完整性,还有重传机制5、长连接:会一直占用双方的端口6、I/O操作(input,output),输入输出相对内存来说的。    write,send:输出 output    read,recv:输入input 能够传输的数据没有限制2、UDP协议1、无连接的,速度快2、可能会丢消息能够传输的数据长度有限的,是根据数据传输设备设置有关(MTU)应用场景:TCP:文件的上传,下载(邮件,网盘,缓存电影)UDP:即时通信(QQ,微信)3、OSI7层模型应用层 :http,https,ftp,smtp表示层会话层#应用层(开发角度,五层协议)--》代码传输层,tcp,udp网络层,ipv4,ipv6 (路由器)数据链路层,mac,arp(网卡,交换机)物理层4、抽象层socket  中文名:套接字python socket模块 完成socket的功能工作在应用层和传输层 之间的抽象层    帮助我们完成了所有信息的组织和拼接socket对于程序员来说,已经是网络操作的底层了。socket历史    同一台机器上的两个服务之间的通信        基于文件    基于网络的多态机器之间的多个服务通信TCP协议:###########server端:import socketsk=socket.socket()sk.bind(('127.0.0.1',9000))sk.listen()print('*'*20)conn,addr=sk.accept()while True:    msg=conn.recv(1024).decode('utf-8')    if msg.upper()=='Q':break    print(msg)    ipn=input(">>>")    conn.send(ipn.encode('utf-8'))    if ipn.upper()=='Q':breakconn.close()sk.close()################client端:import socketsk=socket.socket()sk.connect(('127.0.0.1',9000))while True:    ipn=input(">>>")    sk.send(ipn.encode('utf-8'))    if ipn.upper()=='Q':break    msg=sk.recv(1024).decode('utf-8')    if msg.upper() == 'Q': break    print(msg)sk.close()========================UDP协议:server:import socketsk=socket.socket(type=socket.SOCK_DGRAM)sk.bind(('127.0.0.1',9000))while True:    msg,client_addr=sk.recvfrom(1024)    print(msg.decode('utf-8'))    msg=input(">>>").encode('utf-8')    sk.sendto(msg,client_addr)sk.close()client:    import socketsk=socket.socket(type=socket.SOCK_DGRAM)while True:    inp=input('>>>').encode('utf-8')    sk.sendto(inp,('127.0.0.1',9000))    ret=sk.recv(1024)    print(ret)sk.close()

1 个回复

倒序浏览
有问题可以添加小优vx:DKA-2018
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马