用 vb.net socket通信
創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)與策劃設(shè)計,堆龍德慶網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:堆龍德慶等地區(qū)。堆龍德慶做網(wǎng)站價格咨詢:028-86922220
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
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
新建模塊
Function IsHearOK(ByVal URL As String) As Boolean '判斷網(wǎng)頁是否存在函數(shù)
Dim XMLObject As Object, ReturnType As String
XMLObject = CreateObject("Microsoft.XMLHTTP")
XMLObject.Open("GET", URL, False)
XMLObject.setRequestHeader("CONTENT-TYPE", "application/x-www-form-urlencoded")
XMLObject.setRequestHeader("Range", "bytes=1-255")
Try
XMLObject.Send()
If XMLObject.Status = 200 Or XMLObject.Status = 206 Then
ReturnType = XMLObject.getResponseHeader("CONTENT-TYPE")
If UCase(ReturnType) "TEXT/HTML" Then
IsHearOK = True
Else
IsHearOK = False
End If
Else
IsHearOK = False
End If
Catch
MsgBox("連接異常,請檢查網(wǎng)絡(luò)!", , "提醒")
XMLObject = Nothing
End Try
End Function
調(diào)用 ishearok(url)=true 正常
既然從網(wǎng)上找的實(shí)例沒問題,也許就是調(diào)用的時候沒出來或者在檢測網(wǎng)卡當(dāng)中出現(xiàn)了問題。