- 1、本文档共27页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
PAGE17
单元9网络编程与进程控制
【任务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,则退出
break
info=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:#判断是否退出
break
info=sock.recv(1024).decode()#接收服务器数据
print(收到服务器回复的内容:+info)
sock
您可能关注的文档
- Python程序设计任务驱动式教程(微课版)教案 单元1--3 程序开发环境构建与数据输入输出;基本数据类型与运算符应用;逻辑运算与流程控制.docx
- Python程序设计任务驱动式教程(微课版)教案 单元4、5 序列数据与正则表达式操作; 函数应用与模块化程序设计.docx
- Python程序设计任务驱动式教程(微课版)教案 单元6--8 类定义与使用;文件操作与异常处理;数据库访问与使用.docx
- Python程序设计任务驱动式教程(微课版)教案 单元10--12 基于GUI框架的图形界面设计与网络爬虫应用; 基于Flask框架的Web程序设计;基于Django框架的Web程序设计.docx
- 《Protel99SE项目式教程》 课件 .项目十三:制作PCB,学会其加工工艺.pdf
- 《Protel99SE项目式教程》 课件 项目八:认识印制电路板.pdf
- 《Protel99SE项目式教程》 课件 项目二:管理Altium Designer 17的工程与文件.pdf
- 《Protel99SE项目式教程》 课件 项目九:规划印制电路板与加载网络表.pdf
- 江西省南昌市南昌县2022-2023学年九年级上学期期中英语试题(含听力).pdf
- 2025年醋瓶项目可行性研究报告.docx
文档评论(0)