- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
局域网内聊天小工具程序设计步骤
? ? ? ? ? ? 局域网?内聊天小工?具设计步骤?
第一部分?: 需求分?析
? 为程序?,实现如下?功能:
(?1)实现点?对点的数据?传输:一部?分是发送消?息,另一部?分是发送文?件。
(2?)实现能够?改变背景颜?色、背景颜?色,透明度?。
(3)?实现改变字?体颜色、大?小。
(4?)实现直接?把当前在线?人数显示到?主窗体。
?
第二部分? 开发环境?
开发工?具:Vis?ual S?tudio? 2005?。
第三?部分 案?例覆盖的技?能点
(?1)会使用?常用的Wi?nForm?s控件设计?界面。
(?2)会使用?条件判断语?句。
①i?f:判断是?否在线、文?件是否存在?等。
(3?)会使用循?环结构。
?①whil?e:循环得?到在线人数?,判断广播?地址是否为?真等。
②?for:为?在线人数赋?初值等。
?(4)会使?用try.?..cat?ch捕捉错?误。
(5?)会地、、?自定义方法?实现特定的?功能。
①?广播地址方?法。
③聊?天方法。
?④发送文件?方法。
⑤?Socke?t方法。
?
第四部分? 问题分析?
⒈主要?功能分析
? 1)在线?人数
如果?IP地址有?效,然后就?向主界面添?加在线人数?。
2)聊?天、发送信?息
将信息?转化为字节?流的形式进?行传送,处?理接受到的?信息,分别?对文件和消?息进行处理?。
⒉主?要界面分析?
⑴主界?面:包括工?具条、日历?、右键快捷?菜单键、输?入信息的文?本框、显示?在线人数的?ListV?iew、显?示图片的图?片框、“发?送消息”按?钮、“发送?文件”按钮?等。
⑵信?息窗口:有?显示信息的?文本框、还?有“回复”?按钮、“关?闭”按钮。?
⑶关于:?包括Lab?el标签,?“关闭”按?钮。
⑷透?明度:包括?范围滚动条?、文本框、?“关闭”按?钮。
⑸设?置:包括G?roupB?ox、文本?框、“确定?”按钮、“?取消”按钮?。
⒊辅?助类分析
?⑴MeiZ?hiChe?nBroa?dCast?类:广播地?址、读取信?息。
⑵M?eiZhi?ChenC?hat类:?获取IP指?定文件保存?路径。
⑶?MeiZh?iChen?SentF?ile类:?定义文件流?,发送消息?。
⑷Me?iZhiC?henSo?cket类?:连接地址?。
⑸Me?iZhiC?henSt?artUd?pThre?ad类:添?加在线人数?。
第五?部分 推荐?实现步骤
?
(1)新?建MeiZ?hiChe?n项目,项?目类型为W?indow?s应用程序?。
(2)?添加辅助类?,想项目中?添加五个类?:MeiZ?hiChe?nBroa?dCast?、MeiZ?hiChe?nChat?、MeiZ?hiChe?nSent?File、?MeiZh?iChen?Socke?t、Mei?ZhiCh?enSta?rtUdp?Threa?d。
(3?)设计程序?主窗体(M?ainFo?rm),并?实现当登录?主窗口是直?接显示当前?的在线人数?。刷新。随?机出现头像?还有图片的?自动切换。?发送文件、?消息。
?
提示:
?⒈显示当前?在线人数代?码如下:
? publ?ic v?oid S?tartU?dpThr?ead()?
? {?
? ? Ud?pClie?nt se?rver ?= new? UdpC?lient?(7999?);
? ? ?IPEnd?Point? ep =? new ?IPEnd?Point?(IPAd?dress?.Any,? 0);
? ? ? whi?le (t?rue)
? ? ? {
? ? ? ?byte[?] buf?f = s?erver?.Rece?ive(r?ef ep?);
? ? ? s?tring? user? = En?codin?g.Def?ault.?GetSt?ring(?buff)?;
? ? ? st?ring ?cmd =? user?.Subs?tring?(0, 6?);
? ? ? s?tring? user?1 = u?ser.S?ubstr?ing(6?);
? ? ? i?f (cm?d == ?:USE?R:)
? ? ? ? {
? ? ? ? tr?y
? ? ? ? {
? ? ? ?
文档评论(0)