顯示出目前網際網路連線狀態,類似netstat.exe程式的功能
說明
在藍色小舖中,有人問起如何顯示電腦目前的連線狀態,功能類似netstat指令的功能,這部份的功能可以透過
System.Net.NetworkInformation.TcpConnectionInformation : 提供本機電腦上的傳輸控制通訊協定 (TCP) 連線資訊。
可以參考MSDN http://msdn.microsoft.com/zh-tw/library/system.net.networkinformation.tcpconnectioninformation
以下程式碼,將 TcpConnectionInformation 放入 Timer_Tick 中,定時更新電腦目前的連線狀態
C# 程式碼
01
using System;
02
using System.Collections.Generic;
03
using System.ComponentModel;
04
using System.Data;
05
using System.Drawing;
06
using System.Text;
07
using System.Windows.Forms;
08
09
namespace WindowsApplication27
10
{
11
public partial class Form1 : Form
12
{
13
public Form1()
14
{
15
InitializeComponent();
16
}
17
18
private void Form1_Load(object sender, EventArgs e)
19
{
20
timer1.Interval = 100;
21
timer1.Enabled = true;
22
}
23
24
private void timer1_Tick(object sender, EventArgs e)
25
{
26
System.Text.StringBuilder builder = new System.Text.StringBuilder();
27
System.Net.NetworkInformation.IPGlobalProperties ipProps = System.Net.NetworkInformation.IPGlobalProperties.GetIPGlobalProperties();
28
foreach (System.Net.NetworkInformation.TcpConnectionInformation connection in ipProps.GetActiveTcpConnections())
29
{
30
builder.AppendFormat("{0} -> {1} - {2}{3}", connection.LocalEndPoint, connection.RemoteEndPoint, connection.State, Environment.NewLine);
31
}
32
textBox1.Text = builder.ToString();
33
}
34
}
35
}

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

VB.NET程式碼
01
Public Class Form1
02
03
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
04
Timer1.Interval = 100
05
Timer1.Enabled = True
06
End Sub
07
08
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
09
Dim builder As New System.Text.StringBuilder
10
Dim ipProps As System.Net.NetworkInformation.IPGlobalProperties = System.Net.NetworkInformation.IPGlobalProperties.GetIPGlobalProperties()
11
For Each connection As System.Net.NetworkInformation.TcpConnectionInformation In ipProps.GetActiveTcpConnections
12
builder.AppendFormat("{0} -> {1} - {2}{3}", connection.LocalEndPoint, connection.RemoteEndPoint, connection.State, Environment.NewLine)
13
Next
14
TextBox1.Text = builder.ToString
15
End Sub
16
End Class

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

執行結果
參考
http://www.blueshop.com.tw/board/show.asp?subcde=BRD20090418195852AVQ&fumcde=
範例下載