zoukankan      html  css  js  c++  java
  • cdp协议通信并发编程基础之进程


    一 、 基于UDP的套接字

    udp是无链接的所以先启动哪一段都不会报错
    udp服务端
    import socket

    server=socket.socket(socket.AF_INET,socket.SOCK_DGRAM) # 数据报协议
    server.bind(('127.0.0.1',8080))

    while True:
    client_data,client_addr=server.recvfrom(1024)
    msg=input('回复%s:%s>>>:' %(client_addr[0],client_addr[1]))
    server.sendto(msg.encode('utf-8'),client_addr)


    udp 客户端
    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',8080))
    res,server_addr=client.recvfrom(1024)
    print(res.decode('utf-8'))
    注意:udp是数据报形式发送数据所以不会粘包,但其传输信息并不可靠。所以udp协议传输数据为了保证数据可靠性最大传输
    为512个字节
    二、并发基础

    进程:
    1、什么是程序?什么是进程?
    程序说白了就是一堆文件
    进程就是一个正在执行的过程/程序

    所以说进程是一个抽象的概念
    这个概念起源操作系统

    2、什么是操作系统
    定义:
    操作系统是位于计算机硬件与应用软件之间
    用于协调、管理、控制计算机硬件与软件的资源的
    一种控制程序

    3、操作系统的两大作用:
    1、把复杂丑陋的硬件操作都封装成美丽的接口,提供给应用程序使用
    2、把进程对硬件的竞争变的有序


    4、多道技术
    多道的产生背景是想要在单个cpu的情况下实现多个进程并发执行的效果


    1、空间上的复用 (多道程序复用内存的空间)
    2、时间上的复用 (多道程序复用CPU时间)
    cpu遇到IO操作要切换(提升效率)
    一个进程占用cpu时间过长也切(降低效率)

    进程与进程之间的内存空间是互相隔离的
  • 相关阅读:
    界面实现的小总结
    创建线程的三种方式
    之前总结的今天给大分享一下iOS
    MVVM
    响应者链条
    layer图层常见属性
    NSRunLoop && NSTimer
    关于Angularjs做的一个购物车小例子
    css中实现元素的绝对居中
    剑指 Offer 18. 删除链表的节点 链表
  • 原文地址:https://www.cnblogs.com/zhaodafa/p/8919892.html
Copyright © 2011-2022 走看看