使用.net dataexcel通信搭建一个简单的文件服务器。
.net 开发的Excel 1.0.0.5版
通信简单介绍
1,通信使用TCP协议。
2,采用session机制,控制简单通信安全与连接限制防攻击。
3,采用开放协议包格。(32字节数据包)
4,采用网络断开,自动连接机制保证连接。
5,采用压缩机械压缩大数据(比如.net 里面datatable,dataset的传输)。
6,采用事件机制,更容易,更符合.net开发习惯。
7,采用异步传输,较大的连接与并发。
8,采用数据包头,解决粘包。
9,采用命令方式,更容易扩展。
10,采用允许事件加密,解密保证通信数据绝对安全。(只针对通信)。
11,允许可扩展通信,保证程序各版通信的版本管理。
12,采用无符号以及UNICODE编码,保证各平台的兼容性。(此通信的java版本)
主要类及使用方法介绍:
服务器端
服务器端 使用 SocketListener 类进行监听。
SocketListener listener = new SocketListener();
private void btnStart_Click(object sender, EventArgs e)
{
//this.listener.DbHelper.ConnectionString = frm.txtdatabase.Text;
listener.Port = int.Parse(this.txtport.Text); //这个是必须的,设置监听的端口
//listener.BeforeDataReceive += new SocketListener.BeforeDataReceiveEventHandler(listener_BeforeDataReceive);
listener.DataReceive += new SocketListener.DataReceiveEventHandler(server_DataReceive); //这个是必须的,用于接收自定义的命令。
//listener.ClientChanged += new ClientChangedHandler(listener_ClientChanged);
listener.RegeditSession += new Feng.Net.Tcp.SocketListener.RegeditSessionEventHandler(listener_RegeditSession); //这个是必须的,注册Session事件,指定连接是被允许。
//listener.Loged += new SocketListener.LogEventHandler(listener_Loged);
//listener.Connectioned += new SocketListener.ConnectedEventHandler(listener_Connectioned);
//listener.VersionChecked += new SocketListener.VersionCheckedEventHandler(listener_VersionChecked);
listener.Path = this.txtpath.Text; //这个不是必须的,设置服务器文件路径,用于做文件服务根目录。
listener.StartListening(); //这个是必须的,开启监听。