既然從網(wǎng)上找的實(shí)例沒問題,也許就是調(diào)用的時(shí)候沒出來或者在檢測(cè)網(wǎng)卡當(dāng)中出現(xiàn)了問題。

網(wǎng)站的建設(shè)創(chuàng)新互聯(lián)建站專注網(wǎng)站定制,經(jīng)驗(yàn)豐富,不做模板,主營(yíng)網(wǎng)站定制開發(fā).小程序定制開發(fā),H5頁(yè)面制作!給你煥然一新的設(shè)計(jì)體驗(yàn)!已為成都酒店設(shè)計(jì)等企業(yè)提供專業(yè)服務(wù)。
用 vb.net socket通信
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
本來可以用簡(jiǎn)單的dos命令的,但是影射成功與否返回不理想,建議用API,見下面
Module?LocalNetConnect'模塊,直接復(fù)制即可
Public?Declare?Function?WNetAddConnection2?Lib?"mpr.dll"?Alias?"WNetAddConnection2A"?(ByRef?lpNetResource?As?NETRESOURCE,?ByVal?lpPassword?As?String,?ByVal?lpUserName?As?String,?ByVal?dwFlags?As?Integer)?As?Integer
Public?Declare?Function?WNetCancelConnection2?Lib?"mpr.dll"?Alias?"WNetCancelConnection2A"?(ByVal?lpName?As?String,?ByVal?dwFlags?As?Integer,?ByVal?fForce?As?Integer)?As?Integer
Public?Structure?NETRESOURCE
Dim?dwScope?As?Integer
Dim?dwType?As?Integer
Dim?dwDisplayType?As?Integer
Dim?dwUsage?As?Integer
Dim?lpLocalName?As?String
Dim?lpRemoteName?As?String
Dim?lpComment?As?String
Dim?lpProvider?As?String
End?Structure
Public?Function?netconnect(ByVal?localDrive?As?String,?ByVal?sharePath?As?String,?ByVal?userName?As?String,?ByVal?UserPassword?As?String)?As?Boolean
Dim?NetR?As?New?NETRESOURCE
Dim?ErrInfo?As?Integer
NetR.dwScope?=?2
NetR.dwType?=?1
NetR.dwDisplayType?=?3
NetR.dwUsage?=?1
'設(shè)置驅(qū)動(dòng)器
NetR.lpLocalName?=?localDrive
'設(shè)置遠(yuǎn)程端口名字
NetR.lpRemoteName?=?sharePath
'設(shè)置連接
ErrInfo?=?WNetAddConnection2(NetR,?UserPassword,?userName,?1)
If?ErrInfo?=?0?Then
Return?True
Else
Return?False
End?If
End?Function
Public?Function?netdisconnect(ByVal?localDrive?As?String)?As?Boolean
Dim?ErrInfo?As?Integer
ErrInfo?=?WNetCancelConnection2(localDrive,?1,?False)
If?ErrInfo?=?0?Then
Return?True
Else
Return?False
End?If
End?Function
End?Module
‘調(diào)用
Private?Sub?Button1_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button1.Click
'這里是映射調(diào)用,administrator為用戶名,根據(jù)實(shí)際用戶名
’如果將“Z:”設(shè)置為空就不會(huì)網(wǎng)絡(luò)盤映射但是已經(jīng)和172.26.120.47聯(lián)機(jī)了(返回真時(shí)成立)。
If?netconnect("Z:",?"\\172.26.120.47\c$",?"administrator",?"局域網(wǎng)電腦實(shí)際密碼")?=?True?Then
MsgBox("success")
Else
MsgBox("Faile")
End?If
End?Sub
Private?Sub?Button2_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button2.Click'這里是取消映射
If?netdisconnect("Z:")?=?True?Then
MsgBox("success")
Else
MsgBox("Faile")
End?If
End?Sub
1、點(diǎn)擊右側(cè)的網(wǎng)絡(luò)連接,在彈出的對(duì)話框中點(diǎn)擊打開網(wǎng)絡(luò)和共享中心。
2、在網(wǎng)絡(luò)和共享中心界面中點(diǎn)擊更改適配器設(shè)置。
3、進(jìn)入網(wǎng)絡(luò)連接界面,右鍵本地連接。
4、在彈出的菜單中選擇屬性。
5、在本地連接屬性界面中點(diǎn)擊配置按鈕。
6、切換到高級(jí)選項(xiàng)卡,在屬性列表中找到并點(diǎn)擊網(wǎng)絡(luò)地址,在右側(cè)輸入修改后的網(wǎng)絡(luò)地址,點(diǎn)擊確定按鈕。
7、使用命令提示符,輸入Ipconfig-all,可以查看修改后的物理地址。
Microsoft.VisualBasic.Devices.Network.IsAvailable As Boolean
生成實(shí)例后可以通過此屬性來獲取是否聯(lián)網(wǎng)的值,True代表已聯(lián)網(wǎng),F(xiàn)alse代表沒有聯(lián)網(wǎng)
Microsoft.VisualBasic.Devices.Network.NetworkAvailabilityChanged(ByVal Object, ByVal Microsoft.VisualBasic.Devices.NetworkAvailableEventArgs)
該事件是在電腦斷開/連上互聯(lián)網(wǎng)是引發(fā)的
其中:
e.IsNetworkAvailable
的功能同Microsoft.VisualBasic.Devices.Network.IsAvailable
實(shí)例:
Dim?netListener?As?New?Microsoft.VisualBasic.Devices.Network?'生成實(shí)例
If?netListener.IsAvailable?=?True?Then
MsgBox("已聯(lián)網(wǎng)")
Else
MsgBox("未聯(lián)網(wǎng)")
End?If
NetworkAvailabilityChanged實(shí)例:
WithEvents?netListener?As?New?Microsoft.VisualBasic.Devices.Network?'生成實(shí)例
Private?Sub?OnNetworkChanged(ByVal?Object,?ByVal?Microsoft.VisualBasic.Devices.NetworkAvailableEventArgs)Handles?netListener.NetworkAvailabilityChanged
If?e.IsNetworkAvailable?=?True?Then
MsgBox("已聯(lián)網(wǎng)")
Else
MsgBox("未聯(lián)網(wǎng)")
End?If
End?Sub
本文名稱:vb.net網(wǎng)絡(luò) vbnet網(wǎng)絡(luò)請(qǐng)求用戶名
網(wǎng)頁(yè)鏈接:http://www.yijiale78.com/article30/hhigso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁(yè)設(shè)計(jì)公司、營(yíng)銷型網(wǎng)站建設(shè)、ChatGPT、商城網(wǎng)站、靜態(tài)網(wǎng)站、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)