c# 端口
来源:互联网 发布:雕刻机的编程软件 编辑:程序博客网 时间:2024/05/28 05:18
这几天 老总让写一个检测本地端口是否启用的程序,网上找了好多的例子 都不能达到理想的效果,最后勉强能实现效果
在次 总结了一下 有关端口的各种问题(这里有用别人总结好的东西)
---能否拼通端口,即 端口是否已经打开 这个效果很明显
private static bool cmdTelnet(string strIP, int strNum)
{
//参数介绍 第一个是IP 第二个是端口号
bool strTelnet;
try
{
IPAddress ip = IPAddress.Parse(strIP);
IPEndPoint point = new IPEndPoint(ip, strNum);
Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
sock.Connect(point);
//strTelnet = string.Format("连接端口{0} 成功!", point);
strTelnet = true;
}
catch (SocketException e)
{
if (e.ErrorCode != 10061)
{
MessageBox.Show(e.Message.ToString(), "提示", MessageBoxButtons.OK);
}
// strTelnet = string.Format("连接{0} 失败", strIP + ":" + strNum);
strTelnet = false;
}
return strTelnet;
}
--检查端口是否被占用 --这个占用可以用
Process p = new Process();
p.StartInfo = new ProcessStartInfo("netstat", "-a");
p.StartInfo.CreateNoWindow = true;
p.StartInfo.UseShellExecute = false;
p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
p.StartInfo.RedirectStandardOutput = true;
p.Start();
string result = p.StandardOutput.ReadToEnd().ToLower();
if (result.IndexOf(Environment.MachineName.ToLower() + ":4000") >= 0)
MessageBox.Show("4000端口被占用");
else
{
MessageBox.Show("ok");
}
-----------第三种不太理解,也没有达到预期的效果,拿出来大家研究一下吧
public static bool GetPortMessage(string ip,int port)
{
bool tcpListen = false;
bool udpListen = false;
//设定端口状态标识位
System.Net.IPAddress myIpAddress = IPAddress.Parse(ip);
System.Net.IPEndPoint myIpEndPoint = new IPEndPoint(myIpAddress, port);
try
{
TcpClient tcpClient=new TcpClient();
tcpClient.Connect(myIpEndPoint);
//对远程计算机的指定端口提出TCP连接请求
tcpListen=true;
}
catch
{
}
try
{
UdpClient udpClient=new UdpClient();
udpClient.Connect(myIpEndPoint);
//对远程计算机的指定端口提出UDP连接请求
udpListen=true;
}
catch
{
}
if(tcpListen==false&&udpListen==false)
{
//MessageBox.Show("8000端口关闭!","提示");
return false;
}
else
{
//MessageBox.Show("8000端口打开!","提示");
return true;
}
}
- c# 端口
- c#端口扫描器源代码
- c# 完成端口
- C#扫描计算机端口
- C#串口端口检测
- C# 判断端口信息
- c# scoke 监听端口
- c#端口扫描器源代码
- C# 232端口侦听
- C# 完成端口组件实现
- C#重用UDP端口号
- C#重用UDP端口号
- C#重用UDP端口号
- 利用C#设计端口扫描器
- C#重用UDP端口号
- C#服务端端口侦听浅析
- C#完成端口代码演示
- C#重用UDP端口号
- Jquery中的事件的链接写法
- My experience as the Ah-counter of toastmaster
- mysql 取整数或小数或精确位数
- MySQL用户权限设置
- java.io.UTFDataFormatException: Invalid byte 2 of 2-byte UTF-8 sequence.
- c# 端口
- 【Android开发学习38】关于GLSurfaceView显示的几点说明
- 【@km心情】人至低,则无敌
- 10个实用的PHP正则表达式
- 怎样在xcode里面使用Memory Leaks和Instruments教程
- 《Accelerated C++》 笔记摘录
- apue-信号相关概念
- .flv视频文件上传到服务器后不能播放是怎么回事?
- c#操作excel方式三:使用Microsoft.Office.Interop.Excel.dll读取Excel文件