Python从入门到精通------------udp协议

udp协议

udp协议一个实例化就可以发送端口了

socket (type=socket.SOCK_DGRAM)
sendto 需要写一个对方的地址
recvfrom 接收消息和地址
close 关闭服务/连接

sever端  

# 信息交流摸版
import socket
friend_list = {'alex':'32','太白':'33'}   # 可以知道对面的名字
sk = socket.socket(type= socket.SOCK_DGRAM)  # udp协议
sk.bind(('10.61.1.4',9000)) # 绑定一个端口
# msg = sk.recv(1024)# 使用recv只会受到消息
while True: # 可以多次发送消息
    msg,addr = sk.recvfrom(1500)
    # recvfrom 可以接收消息和获得对面的ip地址
    # 确定字节,
    # 还可以获取对面的it地址就是addr
    msg = msg.decode('utf-8')  # 受到对面的消息,对对面的消息进行解码
    name,message = msg.split('|') # 将用户名和其他的名字隔开
    print('\033[1;%sm %s:%s\033[0m' % (friend_list.get(name,'30'),name,message))
    content = input('>>>')
    sk.sendto(content.encode('utf-8'),addr)
    if content.upper() == '再见':break
    

client端

import socket
name = 'alex'
sk = socket.socket(type=socket.SOCK_DGRAM)
while True: # 可以多次收消息了
    content = input('请输入内容\n>>>')
    if content.upper() == '再见': break
    content = '%s|%s'%(name,content)
    sk.sendto(content.encode('utf-8'),('10.61.1.4',9000))   # 对面的端口号
    msg = sk.recv(1024).decode('utf-8')  #
    if msg.upper() == '退出': break
    print(msg)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值