9-3【任务9-3】建立UDP通信获取客户购物数量_第1页
9-3【任务9-3】建立UDP通信获取客户购物数量_第2页
9-3【任务9-3】建立UDP通信获取客户购物数量_第3页
9-3【任务9-3】建立UDP通信获取客户购物数量_第4页
9-3【任务9-3】建立UDP通信获取客户购物数量_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

【任务9-3】建立UDP通信获取客户购物数量【任务描述】(1)在项目Unit09创建“9-3server.py”和“9-3client.py”两个Python程序文件。(2)编写程序建立UDP通信获取客户购物数量,即在客户端输入购物数量,然后发送给服务器,服务器端收到数据后,再发送给客户端输出。【任务实施】在PyCharm项目Unit09中创建Python程序文件程序9-3server.py。在程序文件程序9-3server.py中编写程序代码,实现所需功能。importsocket#导入Socket模块sock=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)#创建UDP套接字sock.bind(("127.0.0.1",6688))#绑定地址(host,port)到套接字print("绑定UDP到6688端口")data,addr=sock.recvfrom(1024)#接收数据sendData="购买数量为:"+str(data)print(sendData)print("Receivedfrom:",addr)sock.sendto(sendData.encode(),addr)#发送给客户端sock.close()#关闭服务器端套接字【任务实施】程序9-3server.py中使用socket.socket()方法创建套接字,其中参数设置为AF_INET和SOCK_DGRAM,表明创建的是UDP套接字,recvfrom()方法生成的data数据类型是byte类型。使用sendto()方法发送数据时,发送的数据必须是byte类型,所以需要使用encode()函数将字符串转换为byte类型。【任务实施】在PyCharm项目Unit09中创建Python程序文件程序9-3client.py。在程序文件程序9-3client.py中编写程序代码,实现所需功能。importsocket#导入Socket模块sock=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)#创建UDP套接字data=input("请输入购买数量:")sock.sendto(data.encode(),("127.0.0.1",6688))#发送数据print(sock.recv(1024).decode())#打印接收数据:sock.close()#关闭套接字【任务实施】由于接收的数据和发送的数据其类型都是byte,程序9-3client.py的代码中发送数据时,使用encode()函数将字符串转换为byte类型。而输出数据时,使用decode()函数将byte类型的数据转换为字符串,方便用户阅读。运行程序之前,先打开2个Windows命令行窗口,第1个命令行窗口模拟UDP服务器端,第2个命令行窗口模拟UDP客户端。【任务实施】在第1个命令行窗口的提示符“>”后输入命令:pythonD:\PycharmProject\Unit09\9-3server.py,开始运行9-3server.py程序,此时该窗口中会出现“绑定UDP到6688端口”的文字。然后在第2个命令行窗口的提示符“>”后输入命令:pythonD:\PycharmProject\Unit09\9-3client.py,开始运行9-3client.py程序,此时该窗口中出现“请输入购买数量:”提示文字,接着输入购买的数量,这里输入“5”,然后按【Enter】键,【任务实施】此时第1个命令行窗口出现“购买数量为:b'5’”和“Receivedfrom:('127.0.0.1',50003)”两行提示文字,第2个命令行窗口出现“购买数量为:b'5'”的提示文字。【任

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论