版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【任务9-1】实现客户端与服务器之间通信【任务描述】(1)在PyCharm集成开发环境中创建项目Unit09。(2)在项目Unit09创建“9-1server.py”和“9-1client.py”两个Python程序文件。(3)编写程序使用socket实现TCP服务器端与客户端之间的通信,即客户端向服务器发送文字,服务器端接到消息后,显示消息内容并且输入文字返回给客户端。客户接收到响应,显示该文字,然后继续向服务器发送消息,这样,就可以实现一个简易的聊天程序。当输入“exit”时,则退出系统,中断聊天。【任务实施】1.创建PyCharm项目Unit09成功启动PyCharm后,在指定位置“D:\PycharmProject\”,创建PyCharm项目Unit09。2.创建Python程序文件9-1server.py在PyCharm项目“Unit09”中,新建Python程序文件“9-1server.py”。【任务实施】3.编写Python程序代码在新建文件“9-1server.py”的代码编辑窗口输入程序代码。importsocket#导入socket模块try:host=socket.gethostname()#获取主机地址
port=1818#设置端口号
sock1=socket.socket(socket.AF_INET,socket.SOCK_STREAM)#创建TCP/IP套接字
sock1.bind((host,port))#绑定地址(host,port)到套接字
sock1.listen(1)#设置最多连接数量
print(host,"在监听…")sock=sock1.accept()[0]#被动接受TCP客户端连接
print("连接已经建立")info=sock.recv(1024).decode()#接收客户端数据whileTrue:#判断是否退出
ifinfo:print("收到客户端请求的内容:"+info)sendData=input("服务器端回复的内容:")#发送消息
sock.send(sendData.encode())#发送TCP数据
ifsendData=="exit":#如果发送byebye,则退出
breakinfo=sock.recv(1024).decode()#接收客户端数据
sock.close()#关闭客户端套接字
sock1.close()#关闭服务器套接字exceptExceptionaserror:print(error)【任务实施】4.创建Python程序文件9-1client.py在PyCharm项目“Unit09”中,新建Python程序文件“9-1client.py”。5.编写Python程序代码在新建文件“9-1client.py”的代码编辑窗口输入程序代码。importsocket#导入socket模块input("按任意键开始连接服务器...")try:sock=socket.socket()#创建TCP/IP套接字
host=socket.gethostname()#获取主机地址
port=1818#设置端口号
sock.connect((host,port))#主动初始化TCP服务器连接
print("成功连接服务器")info=""whileTrue:#判断是否退出
sendData=input("客户端请求的内容:")#输入内容
sock.send(sendData.encode())#发送TCP数据
ifsendData=="exit":#判断是否退出
breakinfo=sock.recv(1024).decode()#接收服务器数据
print("收到服务器回复的内容:"+info)sock.close()#关闭套接字exceptExceptionaserror:print(error)单击工具栏中【保存】按钮,分别保存“9-1server.py”和“9-1client.py”两个程序文件。【任务实施】6.运行Python程序运行程序之前,先打开2个Windows命令行窗口,第1个命令行窗口模拟TCP服务器端,第2个命令行窗口模拟TCP客户端。在第1个命令行窗口的提示符“>”后输入命令:pythonD:\PycharmProject\Unit09\9-1server.py,开始运行9-1server.py程序,【任务实施】6.运行Python程序此时该窗口中会出现“MS-201705281819在监听…”的提示文字。然后在第2个命令行窗口的提示符“>”后输入命令:pythonD:\PycharmProject\Unit09\9-1client.py,开始运行9-1client.py程序,此时该窗口中出现“按任意键开始连接服务器...”提示文字,按【Enter】键或其他任意键后第1个命令行窗口出现“连接已经建立”的提示文字,第2个命令行窗口出现“成功连接服务器”的提示文字。【任务实施】6.运行Python程序在第2个命令行窗口中提示文字“客户端请求的内容:”后输入“Hi,hello.”,再按【Enter】键,此时第1个命令行窗口中会接收到客户端发来的数据,出现“收到客户端请求的内容:Hi,hello.”的内容,程序运行时分别在模拟TCP服务器端和模拟TCP客户端发送或收到的信息如表所示。客户端收到与发送的信息服务器端发送与收到信息发送的信息Hi,hello.收到的信息Hi,hello.收到的信息Nicetohearfromyou发送的信息Nicetohearfromyou发送的信息Wishesyoutobehappydaily!收到的信息Wishesyoutobehappydaily!收到的信息Thankyou!Happyeveryday发送的信息Thankyou!Happyeveryday发送的信息byebye收到的信息byebye收到的信息byebye发送的信息byebye发送的信息exit收到的信息exi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025托管保洁合同范本
- 二零二五年度车辆租赁与车联网技术应用合同4篇
- 2025小工包工合同协议书范本
- 2025合同范本劳动合同模板国营企业
- 2025年度个人土地买卖合同范本(含土地规划及使用条件)4篇
- 2025授予翻译权合同常用版本
- 二零二五年度环保技术开发与应用合作合同4篇
- 2025年油气田钻井安全质量责任合同集锦4篇
- 二零二四年度影视制作合作协议标的:电影制作、发行及版权交易2篇
- 2025年度中医外科师承培养项目合同范本4篇
- 2019版新人教版高中英语必修+选择性必修共7册词汇表汇总(带音标)
- 新译林版高中英语必修二全册短语汇总
- 基于自适应神经网络模糊推理系统的游客规模预测研究
- 河道保洁服务投标方案(完整技术标)
- 品管圈(QCC)案例-缩短接台手术送手术时间
- 精神科病程记录
- 阅读理解特训卷-英语四年级上册译林版三起含答案
- 清华大学考博英语历年真题详解
- 人教版三年级上册口算题(全册完整20份 )
- 屋面及防水工程施工(第二版)PPT完整全套教学课件
- 2023年高一物理期末考试卷(人教版)
评论
0/150
提交评论