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

 

转载于:https://www.cnblogs.com/yangmingxianshen/p/7932361.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值