选择显示字体大小

基于.net的多用户客户端设计



  摘要: 在c/s 模式中,服务器端往往是设计的重点。为了测试服务器的性能,不得不使用大量的计算机作为客户端。在实际情况中,往往无法提供大量的计算机用以测试,同时,这也是资源的浪费,为了解决这个问题,本文提出了模拟多用户客户端的设计方法,并给出详细代码说明。

  关键字:多用户 客户端 连接队列

  1. 概述

  在c/s 模式中,服务器端往往是设计的重点。一般来说,服务器的能够承受的连接数量是衡量一个服务器性能好坏的重要标准,为了测试服务器能够承受的连接数,我们必须使用多台客户机来测试他的性能.可是,很多情况下,我们没有那么多的机器,同时使用多台机器进行测试也是浪费资源,为此,我们设计了模拟多用户客户端程序来解决这个问题。

  本文采用mfc的csocket类在.net平台上进行设计.所谓的模拟多用户就是用一个客户端程序来建立多个与服务器的连接,就好像多个客户端与服务器进行连接一样。设计的重点是:

   程序能够生成用户指定的数目的连接;

   用户可以在建立的连接中任意指定某个连接进行通信;

   用户可以随意更换连接进行通信测试,每个连接不会互相混淆,尤其是在读写数据的时候,不能张冠李戴;

   用户可以随意指定断开某个连接,而不会影响其他连接。

  那么这么多的连接究竟如何管理呢?

  首先,我们要有一种数据结构来描述每个连接的详细情况。本文采用了结构体。

  自定义结构体struct socket_info

{ csocket* s_client; //保存用户的socket
u_long client_addr; //保存用户网络地址
cstring username; //用户昵称
int id; //连接号
} ;

  然后,使用c++的模板类clist来管理这些连接。以后所做的所有事情就是对这个链表的操作。

  2.设计步骤:

  2.1创建一个基于对话框的工程cclientdlg.在mfc应用程序向导中选中windows 套接字。

  2.2给对话框添加菜单,并添加菜单项,包括配置服务器、用户登陆、退出、通信、断开连接。

  2.3添加"配置服务器"响应函数onserverconfserver(),调出服务器配置对话框server configure。输入服务器的ip地址和端口号。

  2.4添加"用户登陆"响应函数,输入用户名和连接数,系统根据用户输入的想要建立的连接数,自动生产连接并将其放入链表中。

  2.5 添加"通信"响应函数oncommunication(),调出通信对话框,如图1所示。点击"发送",发送数据;点击"接收",接收数据;点击"断开该连接",关闭socket,并从链表中删除该连接。

  2.6 添加"退出"菜单响应函数。遍历整个连接队列,将所有的连接断开并删除队列中所有结构体,将队列清空。


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons