1、“.....直到有客户向服务器发出连接请求后,服务器进程才从休眠状态被唤醒,并为客户请求服务。个服务程序通常在个众所周知的地址监听客户对服务的请求,也就是说,服务进程直处于休眠状态。直到个客户对这个服务地址提出连接请求。在这个时刻,服务程序被惊醒并且为客户提供服务对客户的请求作出适当的反应。服务器端和浏览器端需要分别设计,其中浏览器部分除了主聊天界面外,还加上了登录界面,以便以后扩展。作为聊天室系统,浏览器信息全部来自于服务器,服务器端应能实时掌握所有客户登录退出对话情况,并能实时转发广播给相应客户。建立数据库连接本系统采用的数据库是,首先要安装。在安装的过程中,创建个登录,密码也为。主要操作安装组件安装服务器填写本地计算机新的实例或安装客户端工具安装服务器和客户端填写公司与名称接受协议域用户帐户例如可设用户名,密码为进行身份验证等安装后,建立个名为的数据库......”。
2、“.....在的应用程序中添加文件。配置数据库连接字符串的程序代码如下其中是服务器的名字。若你使用的是本地系统帐户,身份验证是身份验证模式,则无用户名和密码,配置数据库连接字符串的程序代码如下系统功能的详细实现信息的组织存储共享的实现在实际应用中,聊天室程序并不需要存储所有聊天者所说的所有话,而仅需存储正在室内的聊天者们最近所说的若干句话视系统特点程序制作者风格等而定,般在句话不等,当然能让聊天者自己在定的范围内进行选择设定为最好,这些信息也无须作长期永久性的存储。因此,我们可舍弃磁盘文件及后台数据库的方法,直接使用内存进行操作,这样可大大提高信息的读写速度,从而能较好地解决聊天室的速度瓶颈问题。同时,这些信息经过组织存储后,在聊天者的浏览器端显示时要求具有顺序性,为了便于显示加快显示速度,对这些信息要求具有操作的连续性。不管在何种语言中......”。
3、“.....在聊天室程序中,完成了信息的组织存储,仍有另关键技术待解决如何能在多个程序或个程序的多个运行实例之间进行信息共享。这技术在不同的编程语言中有不同的解决思路,如共享内存,数据文件或者使用服务器客户模式程序实现在多个程序间完成数据交换。由于对象的设置值为应用的所有用户共享,我们可以用它来保存聊天室的发言。为了便于处理,引入个数组来存放发言,在文件的事件代码中定义数组并将其赋给个对象,数组的大小定为,是为了限定显示行数为行,保证用户阅读信息的方便,不用拉动垂直滚动条。利用模运算按循环队列机制来填写数组,并将最新录入的发言显示在最底部。为了防止两个用户为写入发言同时对对象变量修改,从而导致个用户的所作的修改被另个用户的操作所覆盖,必须解决多用户并发写入问题,对象的属性可以用来只允许当前用户编辑对象的值,操作结束必须用来释放其对对象的独占。如果在加锁时有其他用户请求编辑对象......”。
4、“.....直到对象被解锁。为了处理方便,在该程序中创建了对象变量的本地引用,这样做是为了简化代码,使用简短的本地变量而不是繁琐的名字。登录功能的实现要实现登录的功能就是在用户输入用户名的时候判断是否为空或者是否用户名重复,如果是则不能进入聊天系统,要求用户重新输入,否则用户进入聊天室。这里只需要个判断语句就可以完成,把表单中的文本框中的内容存入变量中,并判断变量是否为空,如果是则返回登录界面如果不是则把欢迎参加聊天。这句话存入变量中这样同时实现了系统公告。并通过来获得所有人的名字,最后使用返回到聊天界面。人员列表的实现人员列表的实现就是把在中存入中的名字使用显示出来,在这里利用实现手工刷新。公共聊天和私聊功能的实现思路对于没有私聊功能的聊天室来说,其实每个用户的屏幕上显示的内容是样的。所以只要在中建立个公共变量来储存聊天内容......”。
5、“.....在中,只要建立个对象的变量,然后对其读写就可以实现了。写入代码如下以上代码只需放入发送消息的文件中就可以了。其中为作者定义的个储存新聊天内容的变量,它用来储存用户新发出的消息。在网络上,发送消息可能是个并发事件。如果多个用户同时更改这个变量,就会发生。所以,上述代码中使用了和来避免此问题的发生。而读出此变量内容并将其显示在网页上则较为简单,只要将下述代码放入用于显示的文件中即可私聊功能实现思路知道了基本聊天室的实现方法,我们再来看看如何实现具有私聊功能的聊天室。对于个拥有私聊功能的聊天室,与没有此功能的聊天室最大的区别是允许客户端的屏幕显示不同的内容,而不象没有此功能的聊天室那样每个人的屏幕显示的内容都是样。这样,我们就没有办法使用前面所提到的那种方法将聊天记录存入个对象的变量,然后再读取它的值。我们必须多建几个变量来解决这个问题......”。
6、“.....用来存放目的用户的用户名用来存放私聊内容用来存放用户的用户名可以在用户登录的时候将用户的用户名写入该变量。因为对象的变量是私有的,所以每个用户的变量的值是不相等的。发送方只要将目的用户的用户名写入,然后通过上述列出的发送方代码就可以将私聊内容发至想要发送的对象,而其他用户是收不到此内容的。例如的值为,那么在发送方就会产生个名为的变量。在接收方,如果他的的值也为的话,那么接收方的那个对象的变量就为。如此来就收到了发送方发来的私聊内容,而其他用户则收不到此内容。但是,新的问题也就出现了大家知道,对象会在用户会话超时或结束时自动销毁以释放空间,而对象要等到服务器关掉才会销毁。这样来,如果用户数多并且这些用户都使用私聊功能的话,那么对象会变得很多,而且不会随着用户的减少而减少。其结果就会使服务器崩溃。解决这个问题我使用了下面这个方法......”。
7、“.....不过这次稍加改进。其实,上面的这个方法是为每个用户建立个存放私聊数据的变量,这种方法不好。那么有没有办法只用个变量来存放用户的私聊数据呢答案是肯定有。不过在程序的实现上要比上面的那个方法复杂些。所需建立的变量如下,用于储存所有用户的私聊数据,用于储存使用私聊功能的用户名单,用于储存非私聊内容数据④,用功能正常才算完成,应当尽量避免系统测试延到项目末尾进行。用户验收测试在系统测试完成后,进行用户的验收测试,它是用户在实际应用环境中所进行的真实数据测试。在具体的测试中,般应遵循以下原则由程序设计者之外的人进行测试测试用例应由两部分组成输入数据和预期输出结果应选用不合理的输入数据与非法输入测试不仅要检验程序是否实现预期功能,还应检查程序是否做了不应该做的工作集中测试容易出错的程序模块对程序修改以后,必须重新进行测试......”。
8、“.....黑盒测试软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看作个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。黑盒测试主要是为了发现以下几类是否有不正确或遗漏的功能在接口上,输入是否能正确的接受能否输出正确的结果是否有数据结构或外部信息例如数据文件访问性能上是否能够满足要求是否有初始化或终止性白盒测试软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态致。因此白盒测试又称为结构测试或逻辑驱动测试......”。
9、“.....对所有的逻辑判定,取真与取假的两种情况都能至少测遍。在循环的边界和运行的界限内执行循环体。测试内部数据结构的有效性,等等。测试策略与结果分析测试策略第步,采用单元测试,使用白盒测试技术对各个功能模块进行测试,完成以下几点模块接口测试模块局部数据结构测试模块中所有独立执行通路测试模块的各条处理通路测试模块边界条件测试第二步,进行组合测试又称为集成测试或子系统测试,主要采用黑盒测试技术,把模块集成在起形成完整的软件,主要是测试模块之间的集合程度。第三步,确认测试,使用黑盒测试技术,是对通过组合测试的软件进行的,这些软件已经存于系统目标设备的介质上,确认测试的目的是表明软件是可以工作的。第四步,系统测试,解决各子系统之间的数据通信和数据共享问题以及检测系统是否达到用户的实际要求。测试结果经过几个月的毕业设计......”。
1、手机端页面文档仅支持阅读 15 页,超过 15 页的文档需使用电脑才能全文阅读。
2、下载的内容跟在线预览是一致的,下载后除PDF外均可任意编辑、修改。
3、所有文档均不包含其他附件,文中所提的附件、附录,在线看不到的下载也不会有。