UDP网络小应用

接上篇
前面我们实现了TCP的网络小应用,这节课我们来做一个基于UDP的网络小应用。TCP与UDP什么区别不需要我说了吧?UDP服务端不需要TCP服务端那么多的设置,因为它们不是面向连接的,除了等待传入的连接之外,几乎不需要做其它操作。
下面直接看着实例来学习:(其它地方与TCP相同,我们只看不同的)
服务端

from socket import *
from time import ctime

HOST=""
PORT=32323#这里我换了一个端口,因为TCP那个肯定是不能用的
BUFSIZ=1024
ADDR=(HOST,PORT)

udpSerSock=socket(AF_INET,SOCK_DGRAM)#第二个参数注意一下,这个是创建UDP套接字的参数
udpSerSock.bind(ADDR)
#因为是无连接,所以我们不需要去监听
while True:#一旦运行到了这里,就说明我们的服务端已经开启,开始被动接受消息了
    print("Waittingformessage...")
    data,addr=udpSerSock.recvfrom(BUFSIZ)
    udpSerSock.sendto(("[%s]%s"%(ctime(),data)).encode(),addr)#当有消息到了的时候,继续返回
    print("receivedfromandreturnedto:",addr)

客户端

from socket import *

HOST="localhost"
PORT=32323 #这里要跟我们的服务端一直
BUFSIZ=1024
ADDR=(HOST,PORT)

udpCliSock=socket(AF_INET,SOCK_DGRAM)
#这里没有了连接那个步骤,因为UDP是无连接的。
while True:
    data=input("请输入:")
    if not data:
        break
    udpCliSock.sendto(data.encode(),ADDR)
    data,ADDR=udpCliSock.recvfrom(BUFSIZ)
    if not data:
        break
    print(data.decode("utf-8"))
udpCliSock.close()

这个我已经运行过了,大家也可以自己运行一下。掌握TCP和UDP的区别,毕竟在WEB开发中这个还是很重要的。虽说有框架可用,但是原理不懂都是白搭。
更多内容请关注公众号“计算机自学平台”

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值