C#网络计费与监控系统的设计与实现+流程图(13)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

C#网络计费与监控系统的设计与实现+流程图(13)


{
string username=dr["username"].ToString().Trim();
string name=this.UserName.Text;
if (username == name)
{
string mima1=dr["userpwd"].ToString().Trim();
string mima2=this.Mima.Text;
if(mima1==mima2)
{
string zhiwu1=dr["usertype"].ToString().Trim();
if (zhiwu1 == "False")
{
F1.IsAdmin = false;
F1.userName = username;
F1.Show();UserName.Text = "";Mima.Text = "";UserType.Text = "";
this.Hide();
}
else if (zhiwu1 == "True")
{
F1.IsAdmin = true;
F1.userName = username;
F1.Show(); UserName.Text = ""; Mima.Text = ""; UserType.Text = "";
this.Hide();
else
{
MessageBox.Show("您输入的用户名、密码或用户类型有误!\n 请确认后重新输入!","警  告",MessageBoxButtons.OK,MessageBoxIcon.Error);
UserName.Text="";
Mima.Text="";
UserType.Text="";
UserName.Focus();
}
MyData.MySQL.CloseSQL();
}
4.2    系统主界面
用户在主界面可以选择各项操作:文件中只有退出,退出也可使用快捷键ctrl+x。选项中为系统设置页面,点击进入管理员设置页面。流量中为流量统计,点击进入流量查询界面,可以看到用户使用网络的数据统计。帮助中为系统及编写者相关信息。在主界面中可以实时对网络中数据动态进行观察,屏幕中的数据会在设置的周期内进行整理存入数据库,并清空主界面中的数据进行下一次数据收集整理。
 
图 4.2系统主界面
数据采集功能被放置在了系统主界面中,这样登录成功后就可以看到数据采集包的数据。
数据采集功能代码如下:
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
private void MainForm_Load(object sender, EventArgs e)
{
System.Windows.Forms.ListView.CheckForIllegalCrossThreadCalls = false;
//初始化lvSniffInfo控件的列信息
lvSniffInfo.Columns.Add("协议", 50, System.Windows.Forms.HorizontalAlignment.Center);
lvSniffInfo.Columns.Add("源地址", 100, System.Windows.Forms.HorizontalAlignment.Center);
lvSniffInfo.Columns.Add("目的地址", 100, System.Windows.Forms.HorizontalAlignment.Center);
lvSniffInfo.Columns.Add("源端口", 50, System.Windows.Forms.HorizontalAlignment.Center);
lvSniffInfo.Columns.Add("目的端口", 80, System.Windows.Forms.HorizontalAlignment.Center);
lvSniffInfo.Columns.Add("时间", 150, System.Windows.Forms.HorizontalAlignment.Center);
//需添加System.Management引用
string sqlStr = "SELECT * FROM Win32_NetworkAdapterConfiguration";
ManagementObjectSearcher query1 =
new ManagementObjectSearcher(sqlStr);//搜寻WMI类别
ManagementObjectCollection queryCollection1 = query1.Get();//获取各种管理对象集合
string[] IPString = new string[10];
int x = 0;
string[] temp;
mySniffSocket = new SniffSocket();
foreach (ManagementObject mo in queryCollection1)//获取本地的网络配置
{
temp = mo["IPAddress"] as string[];
if (temp != null)
{
foreach (string st in temp)
{
IPString[x] = st;
x++;
}
}
}
for (int y = 0; y < x; y++)//为组合框添加列表项
{
if (IPString[y] != "")
cmbIpList.Items.Add(IPString[y]);
}
cmbIpList.Text = cmbIpList.Items[0] as string;
try
{
mySniffSocket.CreateAndBindSocket(cmbIpList.Text);//创建和绑定Socket连接
}
catch (SniffSocket.SniffSocketException ex) (责任编辑:qin)