zoukankan      html  css  js  c++  java
  • UDP标准模型

    伪代码

    #服务端
    #创建UDP服务器
    ss = socket()  #创建一个服务器套接字
    ss.bind()       #绑定服务器套接字
    inf_loop:       #服务器无限循环
        cs = ss.recvfrom()/ss.sendto()   #对话(接收与发送)
    ss.close()      #关闭服务器套接字
    
    #客户端
    #创建一个UDP服务器
    cs = socket()     #创建客户端套接字
    comm_loop:      #通讯循环
        cs.sendto()/cs.recvfrom()   #对话(发送/接收)
    cs.close()   #关闭客户端套接字

    标准实例:

    #服务端
    from socket import *
    server = socket(AF_INET,SOCK_DGRAM)
    server.bind(('127.0.0.1',9100))
    while True:
        conn,addr = server.recvfrom(1024)
        print("访问来自%s,端口号是:%s" % (addr[0],addr[1]))
        server.sendto(conn.upper(),addr)   #返回消息的时候,必须指定端口号和ip
    
    #客户端1
    from socket import *
    client = socket(AF_INET,SOCK_DGRAM)
    while True:
        data = input(">>>")   #发送空格也行,不会报错,一次发送,也不会占用资源
        client.sendto(data.encode("utf-8"),('127.0.0.1',9100))
        conn,addr = client.recvfrom(1024)
        print(conn.decode('utf-8'))
    
    #客户端2
    from socket import *
    client = socket(AF_INET,SOCK_DGRAM)
    while True:
        data = input(">>>")
        client.sendto(data.encode("utf-8"),('127.0.0.1',9100))
        conn,addr = client.recvfrom(1024)
        print(conn.decode('utf-8'))

    执行结果:

    访问来自127.0.0.1,端口号是:60715
    访问来自127.0.0.1,端口号是:60716
  • 相关阅读:
    NoHttp封装--03 cookie
    NoHttp封装--02 自定义请求
    NoHttp封装--01
    Cookie管理 WebView同步
    Java注解处理器--编译时处理的注解
    Android联网更新应用
    shell编程下 特殊变量、test / [ ]判断、循环、脚本排错
    磁盘管理 之 parted命令添加swap,文件系统
    磁盘管理之 raid 文件系统 分区
    用户管理上
  • 原文地址:https://www.cnblogs.com/yangmingxianshen/p/7932361.html
Copyright © 2011-2022 走看看