vb.net网络通信 vbnet serialport

用vb.net实现网络通信

用 vb.net socket通信

专注于为中小企业提供网站制作、网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业龙海免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上1000+企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

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从一台主机通过socket同时向多台主机传送信息,如何操作?

用VB5 Winsock控件创建TCP/IP通讯程序 随着Windows 95中文版和Windows NT Server 4.0中文版的流行, Microsoft公司推出了相应平台上的开发软件: Visual Basic 5.0 中文企业 版。它为Windows环境下的网络开发提供了强大的工具,Winsock控件就是其中之一。 Winsock控件建立在TCP、UDP协议的基础上,完成与远程计算机的通信。即使对TCP/IP不太熟悉的用户,使用该控件也可以在十几分钟内创建一个简单的客户机/服务器程序。下面我们对Winsock控件的事件、方法、属性按其在程序中出现的顺序分别作详细的介绍,以便更好地理解程序源代码。

VB.NET 2003中 想做一个基于TCP/IP的网络通信程序

就可以了,我有一段不太成熟的代码:

Imports System.Net

Imports System.Net.Sockets

Imports System.Threading

Imports System.IO

Public Class Form1

Dim TCPListenerRun, TCPClientRun As Boolean

Dim ControlTCPClient, ServerClient As TcpClient

Dim ControlTCPListener As TcpListener

Dim TCPClientT, TCPListenerT As Thread

Private ControlStream, SControlStream As NetworkStream

Private ControlReadStream, SControlReadStream As StreamReader

Private ControlWriteStream, SControlWriteStream As StreamWriter

'异步委托

Private Delegate Sub InvokeDelegate(ByVal iMessage As String)

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

Try

If TCPListenerRun Then

TCPListenerT.Abort()

ControlTCPListener.Stop()

TCPListenerRun = False

Button1.Text = "启动服务端 "

TextBox2.AppendText( "服务器已停止! " vbCrLf)

Else

ControlTCPListener = New TcpListener(IPAddress.Parse( "127.0.0.1 "), 13000)

ControlTCPListener.Start()

TCPListenerT = New Thread(AddressOf Listen)

TCPListenerT.Start()

TextBox2.AppendText( "等待连接... " vbCrLf)

TextBox2.AppendText( "服务器已启动! " vbCrLf)

TCPListenerRun = True

Button1.Text = "停止服务端 "

End If

Catch ex As Exception

TextBox2.AppendText(ex.Message vbCrLf)

End Try

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Try

If TCPClientRun Then

TCPClientT.Abort()

ControlTCPClient.Close()

TCPClientRun = False

Button2.Text = "启动客户端 "

Else

ControlTCPClient = New TcpClient(New IPEndPoint(IPAddress.Parse( "127.0.0.1 "), 13001))

ControlTCPClient.Connect(New IPEndPoint(IPAddress.Parse( "127.0.0.1 "), 13000))

TCPClientRun = True

Button2.Text = "停止客户端 "

TCPClientT = New Thread(AddressOf Receive)

TCPClientT.Start()

ControlStream = ControlTCPClient.GetStream()

ControlReadStream = New StreamReader(ControlStream)

ControlWriteStream = New StreamWriter(ControlStream)

End If

Catch ex As SocketException

'If ex.ErrorCode = 10048 Then

ControlTCPClient.Close()

'End If

TCPClientRun = False

Button2.Text = "启动客户端 "

TextBox2.AppendText(ex.Message vbCrLf)

End Try

End Sub

Private Sub Listen()

ServerClient = ControlTCPListener.AcceptTcpClient

TextBox2.BeginInvoke(New InvokeDelegate(AddressOf InvokeMethod_Receive), "成功连接... ")

SControlStream = ServerClient.GetStream()

SControlReadStream = New StreamReader(SControlStream)

SControlWriteStream = New StreamWriter(SControlStream)

While True

TextBox2.BeginInvoke(New InvokeDelegate(AddressOf InvokeMethod_Receive), SControlReadStream.ReadLine())

End While

End Sub

Private Sub Receive()

While True

TextBox2.BeginInvoke(New InvokeDelegate(AddressOf InvokeMethod_Receive), ControlReadStream.ReadLine())

'Console.WriteLine(ControlTCPClient.Available)

End While

End Sub

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

TCPListenerRun = False

TCPClientRun = False

End Sub

Private Sub InvokeMethod_Receive(ByVal iMessage As String)

TextBox2.AppendText(iMessage vbCrLf)

End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

ControlWriteStream.WriteLine(TextBox1.Text)

ControlWriteStream.Flush()

End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click

SControlWriteStream.WriteLine(TextBox3.Text)

SControlWriteStream.Flush()

End Sub

End Class


当前文章:vb.net网络通信 vbnet serialport
文章分享:http://scyanting.com/article/dohsgdi.html