zoukankan      html  css  js  c++  java
  • python全栈脱产第33天------基于udp协议的套接字、socketserver模块的使用、进程理论

    一、基于udp协议的套接字

      服务端

    import socket

    server=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    server.bind(('127.0.0.1',8082))

    while True:
    data,client_addr=server.recvfrom(1024)
    print(data)
    server.sendto(data.upper(),client_addr)

    server.close()
      客户端
    import socket

    client=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)

    while True:
    msg=input('>>: ').strip()
    client.sendto(msg.encode('utf-8'),('127.0.0.1',8082))
    data,server_addr=client.recvfrom(1024)
    print(data)
    二、socketserver模块的使用
    import socketserver

    # 自定义类用来处理通信循环
    class MyTCPhanler(socketserver.BaseRequestHandler):
    def handle(self):
    while True:
    try:
    data = self.request.recv(1024)
    if len(data) == 0: break # 针对linux系统
    print('-->收到客户端的消息: ', data)
    self.request.send(data.upper())
    except ConnectionResetError:
    break

    self.request.close()


    if __name__ == '__main__':
    server=socketserver.ThreadingTCPServer(('127.0.0.1',8081),MyTCPhanler)
    server.serve_forever() # 链接循环
    三、进程理论
      定义:进程指的是一个正在进行/运行的程序,进程是用来描述程序执行过程的虚拟概念
      进程和程序的区别:程序:一堆代码  进程:程序的执行过程
      来源:来源于操作系统,进程是操作系统的核心
      操作系统:是一个协调、管理、控制计算机硬件资源与应用软件资源的控制程序
        功能:1.将复杂的硬件操作封装成简单的借口给应用软件与用户去使用
           2.将多个进程对硬件的竞争变得有序
      并发:多个任务看起来像是同时运行的
      串行:一个任务完完整整地运行完毕,才能运行下一个任务
      多道技术:1.空间上的复用:多个任务复用内存空间
           2.时间上的复用:多个任务复用cpu的时间
            特点:1.一个任务占用cpu时间过长,则会被操作系统强行剥夺走cpu的执行权限:比起串行执行反而降低效率
               2.一个人遇到io操作也会被操作系统强行剥夺走cpu的执行权限:比起串行执行可以提高效率
  • 相关阅读:
    201521123038 《Java程序设计》 第五周学习总结
    201521123020 《Java程序设计》第4周学习总结
    201521123020 《Java程序设计》第3周学习总结
    201521123020《Java程序设计》第2周学习总结
    Java第十二周学习总结
    Java第十一周学习总结
    Java第十周学习总结
    Java第九周学习总结
    Java第八周学习总结
    Java第七周学习总结
  • 原文地址:https://www.cnblogs.com/zhouyi0316/p/9592851.html
Copyright © 2011-2022 走看看