C# 关于远程计算机的操作,求详解 前提 C#代码在本地局域网内 有服务器S1 开发机 P1 P2 P3P1 P2 P3 都实时监控S1 看S1是否被连接例如 当S1未被连接情况下 P1 P2 P3 显示S1空闲P1远程连接S1后, P2 P3 显示P1正在使用S1怎么做呢?哪位大侠提供思路或者方法 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 给你个思路吧,你可以监控S1的端口和状态,如果有连接并且连接不是自己这台计算机,可以视为被连接状态否则为空闲,下面一段代码只是一个思路,可以参考一下://1.//可定时,也可在一个按钮上写,我这是在窗体在载中写的//作用:通过netstat命令将信息重写向指定的目录文件中(d:\port.txt) private void Form1_Load(object sender, EventArgs e) { Process p = new Process(); p.StartInfo.FileName = "cmd.exe"; p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardInput = true; p.StartInfo.RedirectStandardError = true; p.StartInfo.CreateNoWindow = true; p.Start(); p.StandardInput.WriteLine(@"netstat -a -n>d:\port.txt"); this.dataGridView1.DataSource = StuList(); }//2.再通过StreamReader类将文件读取出来,并可视情况将Local Address和State存入数组循环判断一下就可以得到是否有连接了,这样就可以判断是连接还是空闲了 socket 通讯看你基于什么 协议了 private void Form1_Load(object sender, EventArgs e) { Process p = new Process(); p.StartInfo.FileName = "cmd.exe"; p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardInput = true; p.StartInfo.RedirectStandardError = true; p.StartInfo.CreateNoWindow = true; p.Start(); p.StandardInput.WriteLine(@"netstat -a -n>d:\port.txt"); this.dataGridView1.DataSource = StuList(); }这个要放在S1端? 是的,主要作用是查询这台计算机所有开的端口号,连接地址,状态等另外 将this.dataGridView1.DataSource = StuList(); 去掉,不好意思 你这个应用还是比较有难度的。需要服务器反馈当前远程登录用户信息这有段代码是c#的,你可以参考一下:http://archive.cnblogs.com/a/1935219/做一个socket程序,让服务器监听三个客户端,客户端可以向服务器索取当前服务器登录用户信息登录用户信息中包括客户端名称。链接中是服务端获取远程登录用户信息的功能。 C# listview 缩略图显示问题 CSLA中修改数据的问题 c#托管代码和非托管代码的问题 数据库链接问题 怎样把数据fill在datatable中? 关于radiobutton问题 C#中的 ExecuteNonQuery Executedatareader ExecuteSclar 有啥区别 具体都啥时候 高手进来看下。分布式软件 高分请教,分不够再加,请各位高手帮忙 求助:如何将一个数据集保存在类中 table 问题 如何等待事件执行?
你可以监控S1的端口和状态,
如果有连接并且连接不是自己这台计算机,
可以视为被连接状态
否则为空闲,
下面一段代码只是一个思路,可以参考一下://1.
//可定时,也可在一个按钮上写,我这是在窗体在载中写的
//作用:通过netstat命令将信息重写向指定的目录文件中(d:\port.txt)
private void Form1_Load(object sender, EventArgs e)
{
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
p.Start();
p.StandardInput.WriteLine(@"netstat -a -n>d:\port.txt");
this.dataGridView1.DataSource = StuList();
}
//2.再通过StreamReader类将文件读取出来,
并可视情况将Local Address和State存入数组循环判断一下就可以得到是否有连接了,
这样就可以判断是连接还是空闲了
{
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
p.Start();
p.StandardInput.WriteLine(@"netstat -a -n>d:\port.txt");
this.dataGridView1.DataSource = StuList();
}
这个要放在S1端?
另外 将this.dataGridView1.DataSource = StuList();
去掉,不好意思
你这个应用还是比较有难度的。需要服务器反馈当前远程登录用户信息
这有段代码是c#的,你可以参考一下:http://archive.cnblogs.com/a/1935219/
做一个socket程序,让服务器监听三个客户端,客户端可以向服务器索取当前服务器登录用户信息
登录用户信息中包括客户端名称。链接中是服务端获取远程登录用户信息的功能。