您现在的位置: 天极网 > 开发频道 > 微软开发专栏 > 基于.NET的多用户客户端设计
全文

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

2004-04-02 15:37作者:于彩荣 朱正超出处:论坛责任编辑:方舟
天极IT资讯短信服务 电脑小技巧
资费:包月5元
手机:
介绍:细处着手,巧处用功。高手和菜鸟之间的差别就是:高手什么都知道,菜鸟知道一些。电脑小技巧收集最新奇招高招,让你轻松踏上高手之路。



  摘要: 在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 添加"退出"菜单响应函数。遍历整个连接队列,将所有的连接断开并删除队列中所有结构体,将队列清空。

共2页。 1 2 :

软件资讯·软件下载尽在天极软件

共2页。 1 2 下一页 末页
相关搜索:
关注此文读者还看过
热门关注
特别推荐
网友关注
软件下载
娱乐下载
驱动下载
文章排行
本周
本月
最近更新
关于我们|About us|网站律师|天极服务|电子杂志|RSS订阅|加入我们|网站地图
TMG
Copyright (C) 1999-2009 Chinabyte.com, All Rights Reserved 版权所有 天极网络
商务联系、网站内容、合作建议:010-82657868
版权声明 在线提交意见反馈 渝ICP证B2-20030003号
经营性网站备案信息 网警备案 中国网站排名
天极传媒:天极网|比特网|IT专家网|IT商网|52PK游戏网|IT分众