• udp协议和socketserver模块


    #基于udp协议通讯的套接字
    # 数据报协议
    # 一个recvfrom对应一个sendto 一一对应 无粘包产生

    # 服务端:
    # import socket
    # server=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    # server.bind(("127.0.0.1",8080))
    # while True:
    # date,mag=server.recvfrom(1024)
    # print(date)
    # server.sendto(date.upper(),mag)
    # server.close
    #
    # 客户端
    # import socket
    # client=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    # while True:
    # res=input(">>").strip()
    # client.sendto(res.encode("utf-8"),("127.0.0.1",8080))
    # date,server_addr=client.recvfrom(1024)
    # print(date)
    # client.close()
    #

    #TCP协议的优缺点:(流式协议)
    # 优点:传输数据可靠
    # 缺点:传输效率慢
    #UDP协议的优缺点:(数据报协议)
    # 优点:传输数据的效率高
    # 缺点:数据容易丢失 可靠性低


    # socketserver模块的使用
    # 基于tcp协议通讯,仅更改服务端即可
    # tcp协议并发的socketserver模板:
    # import socketserver
    # 自定义类用来处理通讯循环
    # class MyTCPhanler(socketserver.BaseRequestHandler):
    # def handle(self):
    # while True:
    # try:
    # data=self.request.recv(1024)#request相当于建立连接
    # if len(data)==0:break
    # print("----->收到客户消息",data)
    # self.request.send(data.upper())
    # except ConnectionError:
    # break
    # self.request.close()
    # pass
    # if __name__ == '__main__':
    # server=socketserver.ThreadingTCPServer(("127.0.0.1",8080),MyTCPhanler)
    # server.serve_forever() #连接循环

    # 基于udp协议并发的socketserver模板:
    # 服务端:
    # import socketserver
    # # 自定义类用来处理通讯循环
    # class MyUDPhanler(socketserver.BaseRequestHandler):
    # def handle(self):
    # data,sock=self.request
    # sock.sendto(data.upper(),self.client_address)
    # if __name__ == '__main__':
    # server=socketserver.ThreadingUDPServer(("127.0.0.1",8080),MyUDPhanler)
    # server.serve_forever() #连接循环







    #什么是进程
      #进程的概念:起源于操作系统
    #正在进行(运行)的程序
    #进程是一个包含程序运行所需的所有资源的单位
    #在只有一个CPU的情况下
    #是因为有多道技术
    #内存被分为多个区域 存放不同的应用程序
    #当一个应用程序遇到了I/O操作时 炒作系统会将CPU非陪给其他的应用程序使用
    #切换的时间非常短 用户是感觉不到的
    #特点:
    #一个操作系统中可以同时存在多个进程
    #内部使用了多道技术 可以快速的在不同的应用程序间切换 给用户的感觉就像是在同时运行
    #进程是一个包含程序运行所需的所有资源的单位
  • 相关阅读:
    禅道技术官网
    mysql中获取一天、一周、一月时间数据的各种sql语句写法
    使用HttpFileServer自建下载服务器
    axure新手入门教程
    Mysql存储过程查询结果赋值到变量的方法
    mysql 数据表中查找、删除重复记录
    oracle中的sql%rowcount,sql%found、sql%notfound、sql%rowcount和sql%isopen
    存储过程中的when others then 和 raise
    Oracle的DBMS_OUTPUT.PUT_LINE用法及脚本批处理方法
    oracle 特殊符号
  • 原文地址:https://www.cnblogs.com/yanhui1995/p/9916537.html
Copyright © 2020-2023  润新知