由于之前的项目需要使用到Socket,在百度google之后,没有找到一个轻量级的框架,虽然没找到,但还是因此看了一些大牛们的文章,很有收获,于是自己动手写了一个命名为XNetFramework(请原谅我对命名一向不讲究),本框架(暂且这么称呼,虽然人人都会,而且这东西相当小)足够轻量,采用UDP实现,主要用于客户端-服务器模式,本框架实现模拟心跳包(实现断线等事件触发),消息封装等功能,利用本框架可以快速实现网络上基本C/S模式的程序。
下面就把一使用代码发上来:
XNetFramework.UdpServer server;
private void BtnRun_Click( object sender, EventArgs e)
{
server = new XNetFramework.UdpServer( 5632 );
BtnRun.Enabled = false ;
server.ProcException = (ex) => { MessageBox.Show(ex.Message); };
server.RecevieData += new XNetFramework.UdpServer.RecevieDataEventHadler(server_RecevieData);
server.ClientAdd += new XNetFramework.UdpServer.ClientAddEventHadler(server_ClientAdd);
server.OffLine += new XNetFramework.UdpServer.OffLineEventHandler(server_OffLine);
server.RunServer();
}
private void BtnRun_Click( object sender, EventArgs e)
{
server = new XNetFramework.UdpServer( 5632 );
BtnRun.Enabled = false ;
server.ProcException = (ex) => { MessageBox.Show(ex.Message); };
server.RecevieData += new XNetFramework.UdpServer.RecevieDataEventHadler(server_RecevieData);
server.ClientAdd += new XNetFramework.UdpServer.ClientAddEventHadler(server_ClientAdd);
server.OffLine += new XNetFramework.UdpServer.OffLineEventHandler(server_OffLine);
server.RunServer();
}
client
=
new
XNetFramework.UdpClient(TxtIp.Text,
5632
,
"
1
"
);
client.ProcException = (ex) => { MessageBox.Show(ex.Message); };
client.RecevieData += new XNetFramework.UdpClient.RecevieDataEventHadler(client_RecevieData);
client.Start();
client.ProcException = (ex) => { MessageBox.Show(ex.Message); };
client.RecevieData += new XNetFramework.UdpClient.RecevieDataEventHadler(client_RecevieData);
client.Start();
整体来说是相当简单,实现原理解就不讲了。下面的下载包里有源码和使用示例,欢迎大家下载,希望和大家交流。