使得开发应用程序的周期大大缩短。
?与JAVA语言相比,C#是MS的产物,它与MS自己的操作系统windows有着更好的亲和能力。
?C#和.NET整个构架更适合客户端和服务端工作的混合。
?JAVA体系主要面向服务器端应用和企业级的应用,而在广泛使用Windows平台的中低端应用上,不如.NET有优势。
?正是因为DOTNET平台和C#开发语言的特点(安全性,兼容性等),因此我们选择用C#语言进行开发。
?这就是--------网络办公助理(NOA)
网络办公助理实现细节
?本软件采用了UDP协议与多点广播,其中多点广播用于发送短信功能;UDP协议用于发布通知,网上会议和文件传输功能。此外,本软件还采用了多线程技术,使各个功能都能够并发执行。
网络办公助理的示意图如下:
主页面
启动
文
件
传
输
网
上
会
友
发
布
通
知
发
送
短
信
网
络
设
置
版
本
信
息
办公助理的功能特色:
?本软件设计是从用户的角度进行开发,处处为用户着想。而且我们充分考虑到了用户可能在操作中出现的各种错误,本软件对一定错误都对用户进行友善的提示。
?由于C#可以支持多国语言,所以本软件可以支持中文,英文,日文,韩文,俄文等多种语言。
?同时本软件已经打包成为一个安装文件,安装十分简便,只需按照所给的提示,就可以进行安装,简单易行。
?一般的网络通信软件,都采用C/S或B/S模式。本软件则省去了专用服务器;将服务器所具有的功能嵌入到软件中,使软件本身不仅具有客户端的功能,而且具有服务器的功能。
?传统的通信都采用对等网的形式进行通信.
而本软件不仅有点对点的通信,还有发广播的特点。
传统的通用软件如QQ,MSN等都需要登陆其服务器后,才能进行双方通信,不能保证信息的安全性。而本软件只是在本局域网内流通,无需登陆服务器,有利于信息的保护。
该软件还有很强的扩展性,可以将很多功能加入进去。
*此软件我们在将来还将如一些语音交流,视频会议等功能添加进来。
*以及还有发送通知的权限,可以设置权限来管理办公人员是否能够发送通知等等。
*在网络会议室内显示在线人员等。
办公助理的用途
?办公助理的用途主要用在办公楼局域网内的计算机上。
-发送短信功能,是用于办公人员在不干扰别人的情况下,与另一个人进行交流。
-发布通知功能,能让主管人员不用在奔波于各个部门之间,只要使用发布通知功能,就可以通知到各个人,十分方便。
-网上会议功能,可以让大家能够随时地在网上进行开会,免除了开会要到会议室开会的麻烦,节约了时间.
-文件传输功能,可以使相邻计算机之间的文件交换变得十分简单,不必在用U盘等来拷贝,极大了方便了办公人员。
?由于DOTNET是MS新推出的战略平台,用C#进行Socket类的编程,难度较高;而且时间比较仓促,所以本软件还存在不少不足,一些扩展性的功能还没有实现。
以下是部分代码的实现
usingSystem.Reflection;
usingSystem.Runtime.CompilerServices;
//有关程序集的常规信息是通过下列
//属性集控制的。更改这些属性值可修改与程序集
//关联的信息。
[assembly:AssemblyTitle("")]
[assembly:AssemblyDescription("")]
[assembly:AssemblyConfiguration("")]
[assembly:AssemblyCompany("")]
[assembly:AssemblyProduct("")]
[assembly:AssemblyCopyright("")]
[assembly:AssemblyTrademark("")]
[assembly:AssemblyCulture("")]
//程序集的版本信息包含下列4个值:
//主版本
//次版本
//内部版本号
//修订号
//您可以指定所有值,或使用"修订号"和"内部版本号"的默认值,方法为按如下方式
//使用"*":
[assembly:AssemblyVersion("1.0.*")]
//要对程序集进行签名,必须指定要使用的密钥。有关程序集签名的更多信息,请参考
//Microsoft.NET框架文档。
//使用下面的属性控制用于签名的密钥。
//注意:
//(*)如果未指定密钥,则程序集不会被签名。
//(*)KeyName是指已经安装在计算机上的
//加密服务提供程序(CSP)中的密钥。KeyFile是指包含
//密钥的文件。
//(*)如果KeyFile和KeyName值都已指定,则
//发生下列处理:
//(1)如果在CSP中可以找到KeyName,则使用该密钥。
//(2)如果KeyName不存在而KeyFile存在,则
//KeyFile中的密钥安装到CSP中并且使用该密钥。
//(*)要创建KeyFile,可以使用sn.exe(强名称)实用工具。
//在指定KeyFile时,KeyFile的位置应该相对于
//项目输出目录,即
//%ProjectDirectory%\obj\
。例如,如果KeyFile位于
//该项目目录,应将AssemblyKeyFile
//属性指定为[assembly:AssemblyKeyFile("..\\..\\mykey.snk")]
//(*)"延迟签名"是一个高级选项-有关它的更多信息,请参阅Microsoft.NET框架
//文档。
[assembly:AssemblyDelaySign(false)]
[assembly:AssemblyKeyFile("")]
[assembly:AssemblyKeyName("")]
IP的设定:
usingSystem;
usingSystem.Drawing;
usingSystem.Collections;
usingSystem.ComponentModel;
usingSystem.Windows.Forms;
namespaceNetStar
{
///
///UserIPDlg的摘要说明。
///
publicclassUserIPDlg:System.Windows.Forms.Form
{
privateSystem.Windows.Forms.ButtonbtnOK;
privateSystem.Windows.Forms.ButtonbtnCancel;
privateSystem.Windows.Forms.TextBoxtxtUserID;
privateSystem.Windows.Forms.TextBoxtxtIPAddress;
privateSystem.Windows.Forms.Labellabel1;
privateSystem.Windows.Forms.Labellabel2;
///
///必需的设计器变量。
///
privateSystem.ComponentModel.Containercomponents=null;
publicUserIPDlg()
{
//Windows窗体设计器支持所必需的
InitializeComponent();
//TODO:在InitializeComponent调用后添加任何构造函数代码
}
///
///清理所有正在使用的资源。
///
protectedoverridevoidDispose(booldisposing)
{
if(disposing)
{
if(components!=null)
{
components.Dispose();
}
}
base.Dispose(disposing);
}
#regionWindowsFormDesignergeneratedcode
///
///设计器支持所需的方法-不要使用代码编辑器修改
///此方法的内容。
///
privatevoidInitializeComponent()
{
this.btnOK=newSystem.Windows.Forms.Button();
this.btnCancel=newSystem.Windows.Forms.Button();
this.txtUserID=newSystem.Windows.Forms.TextBox();
this.txtIPAddress=newSystem.Windows.Forms.TextBox();
this.label1=newSystem.Windows.Forms.Label();
this.label2=newSystem.Windows.Forms.Label();
this.SuspendLayout();
//btnOK
this.btnOK.DialogResult=System.Windows.Forms.DialogResult.OK;
this.btnOK.Location=newSystem.Drawing.Point(64,112);
this.btnOK.Name="btnOK";
this.btnOK.TabIndex=4;
this.btnOK.Text="确认";
//btnCancel
this.btnCancel.DialogResult=System.Windows.Forms.DialogResult.Cancel;
this.btnCancel.Location=newSystem.Drawing.Point(200,112);
this.btnCancel.Name="btnCancel";
this.btnCancel.TabIndex=5;
this.btnCancel.Text="放
上一篇:网上选课系统Csharp_net(论文和程序).SQL2000
下一篇:浅议发展中的房地产网络营销