vb.net启用网络连接,vbnet怎么打开

用vb.net实现网络通信

用 vb.net socket通信

创新互联公司成立与2013年,公司自成立以来始终致力于为企业提供官网建设、移动互联网业务开发(成都微信小程序、手机网站建设、成都app软件开发等),并且包含互联网基础服务(域名、主机服务、企业邮箱、网络营销等)应用服务;以先进完善的建站体系及不断开拓创新的精神理念,帮助企业客户实现互联网业务,严格把控项目进度与质量监控加上过硬的技术实力获得客户的一致赞誉。

Dim th As Threading.Thread

2 Dim tcpl As System.Net.Sockets.TcpListener

3

4 Private Sub Form1_Load()Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

5 th = New System.Threading.Thread(New System.Threading.ThreadStart(AddressOf MyListen))

6 th.Start()

7 End Sub

8

9 Public Sub SendMessage()Sub SendMessage(ByVal IP As String, ByVal SendMsg As String)

10 Try

11 If IP "" Then

12 Dim tcpc As New System.Net.Sockets.TcpClient(IP, 5656)

13 Dim tcpStream As Net.Sockets.NetworkStream = tcpc.GetStream

14 Dim reqStream As New IO.StreamWriter(tcpStream)

15 reqStream.Write(SendMsg)

16 reqStream.Flush()

17 tcpStream.Close()

18 tcpc.Close()

19 End If

20 Catch ex As Exception

21 MsgBox(ex.Message.ToString)

22 End Try

23 End Sub

24 Private Sub MyListen()Sub MyListen()

25 Try

26 Dim ipAddress As System.Net.IPAddress = System.Net.Dns.Resolve(System.Net.Dns.GetHostName).AddressList(0)

27 tcpl = New System.Net.Sockets.TcpListener(ipAddress, 5656)

28 tcpl.Start()

29 While True

30 Dim s As System.Net.Sockets.Socket = tcpl.AcceptSocket()

31 Dim MyBuffer(1024) As Byte

32 Dim i As Integer

33 i = s.Receive(MyBuffer)

34 If i 0 Then

35 Dim lstrRec As String

36 Dim j As Integer

37 For j = 0 To i - 1

38 TextBox1.Text += Chr(MyBuffer(j)) ","

39 Next

40 End If

41 End While

42 Catch ex As Exception

43 MsgBox(ex.Message.ToString)

44 End Try

45 End Sub

46

47 Private Sub Button1_Click()Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

48 SendMessage("192.168.0.61", TextBox2.Text)

49 End Sub

VB.net 数据库连接问题

我 看了一下应该是你第一次连接上后,cnn.open就打开并持续开着,并没有关闭,所以,你断网后,第二次连接,他依然是打开的。

另外:

我个人建议你要学会用vb.net的组件,自己连太麻烦,他有现成的,你直接在数据库里选择添加新数据源,按照提示把数据库添加上,然后,你会看到你的程序下面会多了个数据集(dataset).

最后要做的就是使用这些数据集了。以form1为例,你添加一个datagridview,然后在他的数据源上选择刚才添加的项数据集中的某个数据表,然后你会看到,在form1中多了一个dataadapter,sqlconn,datset,并且在form1的load事件中,你会发现多了一条语句,dataadapet.fill(dataset)。

当你运行程序并更改了datagridview后,想要更新数据,只需要在后面,增加一个button,并设置他的click事件为:dataadapter.update(dataset)

怎么样,是不是还有一个问题想问?就是如何更改数据源,很简单,在form1的load事件中,dataadapter.fill(dataset)这条语句之前,再增加一条,sqlconn.ConnectionString = "server=**;database=**;uid=**;pwd=**;Connect TimeOut=2"这个就是你的数据源。

希望我的答案能令你满意。

在vb中连接网络

如果你知道连接的名称,例如“连接到163”或“ADSL”,那么这段程序就可以运行了,不过你可不能保证你的用户机器上有同样的连接名称,所以还必须要使用一段API函数来枚举所有的可用拨号连接名称才行。

新建一个VB Project,在Form1中做以下声明:

Private Const RAS_MaxDeviceType = 16

Private Const RAS95_MaxDeviceName = 128

Private Const RAS95_MaxEntryName = 256

Private Type RASCONN95

dwSize As Long

hRasConn As Long

szEntryName(RAS95_MaxEntryName) As Byte

szDeviceType(RAS_MaxDeviceType) As Byte

szDeviceName(RAS95_MaxDeviceName) As Byte

End Type

Private Type RASENTRYNAME95

dwSize As Long

szEntryName(RAS95_MaxEntryName) As Byte

End Type

Private Declare Function RasEnumConnections Lib "RasApi32.DLL" Alias "RasEnumConnectionsA" (lprasconn As Any, lpcb As Long, lpcConnections As Long) As Long

Private Declare Function RasEnumEntries Lib "RasApi32.DLL" Alias "RasEnumEntriesA" (ByVal reserved As String, ByVal lpszPhonebook As String, lprasentryname As Any, lpcb As Long, lpcEntries As Long) As Long

Private Declare Function RasHangUp Lib "rasapi32.dll" Alias _

"RasHangUpA" (ByVal hRasConn As Long) As Long

在Form上放一个ListBox或者ComboBox,然后在Form_Load中写入以下代码把当前可用的拨号连接名称加进去,这里我们使用ListBox。

Private Sub Form_Load()

Dim s As Long, l As Long, ln As Long, a$

ReDim R(255) As RASENTRYNAME95

R(0).dwSize = 264

s = 256 * R(0).dwSize

l = RasEnumEntries(vbNullString, vbNullString, R(0), s, ln)

For l = 0 To ln - 1

a$ = StrConv(R(l).szEntryName(), vbUnicode)

List1.AddItem Left$(a$, InStr(a$, Chr$(0)) - 1)

Next

List1.ListIndex = 0

End Sub

好,现在你就可以运行一下了,ListBox中应该把当前所有的拨号连接名称都显示出来了。

下面再往Form上加一个命令按钮,Caption设为“Connect”。输入以下代码:

Private Sub Command1_Click()

Dim cmd As String

cmd = "rundll rnaui.dll,RnaDial " List1.List(List1.ListIndex)

Shell cmd$, vbNormalFocus

End Sub

这段程序从ListBox获得选择的拨号连接名称,然后调用RunDLL建立拨号连接。如果已经建立连接,它将显示拨号连接的状态。如果你不想让对话框出现,再添一行代码上去:

DoEvents:SendKeys "{enter}", True

它将发送一个回车键到当前窗口,相当于用户按了“确认”按钮。

如何挂断当前的连接

我们继续在上面的基础上讲解,挂断连接要用到RasHangUp函数,我们在上面声明部分已经写过了。

再向Form1添加一个按钮Command2,Caption设为Disconnect,输入如下的代码:

Private Sub Command2_Click()

Dim s As Long, l As Long, ln As Long, a$, RasConn As Long, Ret As Long

b$ = List1.List(List1.ListIndex)

ReDim R(255) As RASCONN95

R(0).dwSize = 412

s = 256 * R(0).dwSize

l = RasEnumConnections(R(0), s, ln)

For l = 0 To ln - 1

a$ = StrConv(R(l).szEntryName(), vbUnicode)

a$ = Left$(a$, InStr(a$, Chr$(0)) - 1)

RasConn = R(l).hRasConn

'这里将挂断连接

Ret = RasHangUp(ByVal RasConn)

Next

End Sub

这段代码枚举当前所有的连接,并且把它挂断,如果你有双猫,三猫(没有这么好的条件吧),它将把所有连接都挂断。

如何判断当前是否连接到Internet

以前部分网站介绍过读取Registry来判断是否连接到Internet的方法,不过笔者认为这种方法不是最健壮,这里还是在上面的基础上用RasEnumConnections来判断某个连接是否已经连上线了。

再向Form1添加一个按钮Command3,Caption设为Status,输入如下的代码:

Private Sub Command2_Click()

Dim s As Long, l As Long, ln As Long, a$, b$

b$ = List1.List(List1.ListIndex)

ReDim R(255) As RASCONN95

R(0).dwSize = 412

s = 256 * R(0).dwSize

l = RasEnumConnections(R(0), s, ln)

For l = 0 To ln - 1

a$ = StrConv(R(l).szEntryName(), vbUnicode)

a$ = Left$(a$, InStr(a$, Chr$(0)) - 1)

If a$ = b$ Then MsgBox "Connected (or connecting)!": Exit Sub

Next

MsgBox "Not Connected!"

End Sub

本段代码判断ListBox当前选中的连接是否已经连接成功或者正在连接之中,并给出相应的信息。

vb.net 获取指定网卡的网络连接状态

.net不能获得【指定】网卡的信息,给个思路,先遍历所有网卡,然后找到你需要的的那个网卡的信息。


分享文章:vb.net启用网络连接,vbnet怎么打开
标题来源:http://hbruida.cn/article/dsiecjp.html