资源描述:
《高级程序设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、《高级程序设计》实验报告实验报告专业_信息与计算科学班级_姓名_马晨晨__学号2011326630218_课程名称windows程序设计_____________学年2014学期1□/2√课程类别专业必修□限选□任选□√实践□l实验内容:网络通信程序实验:服务器l实验时间:2014年6月l实验目的及要求:目的:检验学习成果,增强实践能力要求:按时完成,并上交实验报告l实验内容、方法与步骤:一、服务器管理界面,实现服务器的启动和停止二、用户信息管理1.用户信息存贮在文件中,预先存储每一个用户的通信号、昵称。存储格式自定。三、通信协议定义和服务器端实现:-11-《高级程序设
2、计》实验报告协议1.用户登录,由客户端向服务器端发送:L
3、通信号
4、昵称
5、在线状态其中在线状态包括”在线”和”隐身”两种协议2.用户登录反馈,由服务器向客户端发送P
6、登录是否成功
7、好友列表其中登录是否成功用“OK”
8、“ERROR”表示好友列表为:通信号1,昵称1;通信号2,昵称2即好友之间用“;”分割,结尾没有“;”,一个好友由通信号和昵称两部分组成,用”,”分割协议3.好友状态反馈,服务器向客户端反馈当某个客户端向服务器发送登录信息,且登录信息中在线状态为在线时,服务器端需要向其所有好友客户端发送客户状态,发送格式如下:Q
9、通信号
10、昵称
11、在线状态当某个客户端向服务器发送
12、退出信息时,情况类似。协议4.好友发送信息,客户端向服务端发送当某个客户端想向另外一个客户端发送信息时候,发送客户端将信息发送到服务器端。发送格式如下:C
13、自己的通信号
14、对方通信号
15、信息正文协议5.服务器转发信息,服务器向客户端发送当服务器收到某个客户端向另外一个客户端发送信息时候,将向目标客户端转发。发送格式如下:-11-《高级程序设计》实验报告C
16、发送方通信号
17、接收端通信号
18、信息正文协议6.退出登录,客户端向服务器发送当客户端程序退出前,向服务器端发送E
19、发送方通信号l实验结果:俩个主窗体:Form1Form2-11-《高级程序设计》实验报告源代码:Form1:us
20、ingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Xml;usingMicrosoft.Win32;usingSystem.IO;usingqqServerManger;namespaceqqServer{publicpartialclassForm1:Form{privatestringSerIp="
21、";privatestringSerPort="";privateServerQQserver=newServer();privatestringSysInf="QQ2008服务已经停止!";publicForm1(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){if(this.comboBox1.Text==""){MessageBox.Show("请选择服务器!","提示",MessageBoxButtons.OK,MessageBoxIcon.Informatio
22、n);}else{this.toolStripStatusLabel2.Text="服务启动中…";if(QQserver.IniServer(SerIp,SerPort)){QQserver.StartServer();XmlFileOp.DelThisFile("onlineinf\onLine.xml");this.pictureBox1.Image=global::qqServer.Properties.Resources.start;this.button1.Enabled=false;this.button2.Enabled=true;-11-《高级程序设
23、计》实验报告SysInf="QQ2008服务正在运行!";this.notifyIcon1.Icon=((System.Drawing.Icon)(global::qqServer.Properties.Resources.ser_start));this.toolStripStatusLabel2.Text="服务已经运行";}else{MessageBox.Show("无法初始化服务!","错误",MessageBoxButtons.OK,MessageBoxIcon.Error);}}}privatevoidbutton3_Clic