所属成套资源:信息技术新中图版必修2信息系统与社会全册授课课件PPT+教案
信息技术必修2 信息系统与社会第3章 信息系统的基础设施3.3 信息系统中的软件3.3.3 开发网络聊天系统精品课件ppt
展开
这是一份信息技术必修2 信息系统与社会第3章 信息系统的基础设施3.3 信息系统中的软件3.3.3 开发网络聊天系统精品课件ppt,共22页。PPT课件主要包含了明确系统结构,开发客户端软件,项目实施,开发服务器软件,部署实施,实践活动等内容,欢迎下载使用。
使用网络中的一些聊天室时,只要在浏览器中输入聊天室的网址,根据提示登录后就可以聊天了。下面开发一个简易的文字型网络聊天系统,这个系统的客户端用浏览器来担当。
要开发的信息系统功能很简单:客户端负责发送、接收信息,服务器负责把收到的信息转发给客户端。
在本节的范例中,聊天系统将采用 WebScket协议进行通信,绝大多数浏览器都已经支持这种协议,因而开发过程相对简单。如果需要,也可以采用其他协议进行开发。
随着浏览器的功能越来越强,很多信息系统的客户端都已借助浏览器来实现,编写客户端软件的过程类似于编写网页。通常,网页本身由HTML代码构成。HTML是 hypertext markup language的缩写,中文译为“超文本标记语言”。浏览网页时,浏览器软件根据代码进行布局图文、展示影像等操作。
编写客户端软件1.明确客户端软件应该具备的具体功能_连接服务器_输入信息_发送信息_接收信息_显示接收的信息2.参照下面的代码,用HTML编写或改写网页形式的客户端
input id='hst' valve=127.0,0.1) #服务器地连接
#输入聊天信息< buttn nclick- send()>发送functin cn() #建立连接{ws= new web scket(ws" +hst .value+" : 8765/)
ws,npen= functin(evt){ writeTScreen("CONNECTED1)};Ws.nmessage- functin(evt){writeTscreen(evt. data););}functin send#发送信息{message=msg. value;Ws.send(message);f}functin writeTscreen(message)#显示信息
{var pre= dcument.createElement(p);Pre.innerHTML- message;utput appendchild(pre);}3.检查代码是否与书中一致,了解每段代码的功能,然后以 client .html为名保存起来
前面编写的网页文件中,在< script>和之间一段特殊的代码,编写这段代码使用的是 Javascript编程语言。这种语言可用来控制浏览器完成多种复杂操作。
具体来说,浏览器解析网页中的 Javascrip代码时,就会采用 WebScket协议,连接服务器的8765端口.然后等待用户发出信息或等待接收服务器转发的信息。其中,定义变量ws的过程就是尝试建立连接的过程。 Ws.nmessge表示成功建立了通信连接, writeTScreen表示收到了从服务器传来的消息,它们都调用 writeTscreen方法把相关信息显示在网页上。代码中的send方法用于发送消息。
开发服务器和客户墙软件时,常常会根据两者不同的行环境,采用不同的语言。下面以 Pythn为例做介绍。
编写服务器软件1.明确聊天服务器的工作过程。服务器时刻不停地监听某个端口有信息传来时,就根信息做出相应的处理:或建立网络连接,或接收并转发传来的消息。2参照下面的代码,编写Phyn程序。#引入程库Imprt webscketsimprt asynci#保存客户端cs =set()
async def talk(webscket, path);Try;while True;if (nt webscket in cs)#新的访问申请cs.add (webscket)msg=‘欢迎: ‘+str(webscket .rente_ address#新的聊天消息Else;Msg= str(webscket, remte address)+’说’+str(await webscket recv())
await asynci.wait(ws,send(msg) fr ws in cs])#转发信息except Exceptin as err:cs.remve( webscket)#移除客户端连接#监听8765口start _server = websckets. serve(talk,l’calhst’, 8765)asynci. get event lp().run_ until cmplete(start_ server)asynci. get event lp(). run _frever()
程序变量cs存放着所有连到服务器的客户端连接。运行时,这个软件会开放本地的8765端口,以 Webscket协议提供网络服务,随后所有的网络通信都在talk方法中进行处理。
程序中的talk方法采用了无限循环的方式,不断监听端口。如果有新的用户连入,就保存通信连接井用类似“欢迎”的内容通知其他用户;如果是新的聊天消息,就在消息前面加上发信人的网络地址,然后转发给所有人
编写这个 Pythn程序时,引入了两个重要的库:一个是名为 websckets的网络库,用于处理 Webscket网络协议,实现通信功能;一个是在服务器开发中经常会使用的名为asynci的标准库,用于以异步模式处理信息。关于异步,后面会做简单介绍。
编写好客户端软件和服务器软件后,就可以把它们组合在一起,形成网络聊天系统了。
部署信息系统1.调试、运行服务器软件,确保翟序正常运行2.用浏览器软件打开网页文件,试试能否正常访问本地服务器3.小组内运行修改后的服务器软件,并公布那台计算机的网络地址,然后同一网络中的其他人用计算机连接公布的服务器,尝试多人聊天。提示: start _server =websckets.serve(talk, 'xxx. xxx. xxx. xxx, 8765)
网络编程活动拓展1.把同页文件传送到接入同一局城网的智能手机上,接着用手机上的览器打开网页,试一试能不能用手机参与聊天。2.查阅相关资料并结合自己的实际编程体驗,讲一讲用编写网页这种方式设计客户端有什么好处,可能会有什么问题。
相关课件
这是一份信息技术中图版 (2019)3.2.1 信息系统与通信网络获奖ppt课件,共41页。PPT课件主要包含了学习目标,实践活动,调制解调器简介,练习提升等内容,欢迎下载使用。
这是一份中图版 (2019)必修2 信息系统与社会第4章 信息安全与社会责任4.1 信息安全风险和防范4.1.3 安全使用信息系统精品课件ppt,共27页。PPT课件主要包含了实践活动,阅读拓展,思考活动等内容,欢迎下载使用。
这是一份高中信息技术中图版 (2019)必修2 信息系统与社会第3章 信息系统的基础设施3.3 信息系统中的软件3.3.1 软件与信息系统试讲课ppt课件,共14页。PPT课件主要包含了体验探索,软件与信息系统,思考活动等内容,欢迎下载使用。