以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 狐表怎么用TCP连接设备,输出设备的信息 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=193008) |
-- 作者:zhenghangbo -- 发布时间:2024/8/9 9:44:00 -- 狐表怎么用TCP连接设备,输出设备的信息 设备ip地址xxx.xxx.xxx.xxx,端口:12345。代码案例如下: Imports System.Net.Sockets Imports System.Text Public Class TCPClientExample Private client As TcpClient Private stream As NetworkStream Public Sub New() client = New TcpClient() stream = Nothing End Sub Public Sub Connect(host As String, port As Integer) Try client.Connect(host, port) stream = client.GetStream() Console.WriteLine("Connected to server.") ReceiveData() \' 开始接收数据 Catch ex As Exception Console.WriteLine("Connection failed: " & ex.Message) End Try End Sub Private Async Sub ReceiveData() Dim buffer(1024) As Byte Dim received As Integer While True Try received = Await stream.ReadAsync(buffer, 0, buffer.Length) Dim data As String = Encoding.UTF8.GetString(buffer, 0, received) Console.WriteLine("Received from server: " & data) Catch ex As Exception Console.WriteLine("Receive failed: " & ex.Message) Exit While End Try End While End Sub Public Sub SendData(message As String) If stream IsNot Nothing Then Dim data As Byte() = Encoding.UTF8.GetBytes(message) Try stream.Write(data, 0, data.Length) Console.WriteLine("Sent to server: " & message) Catch ex As Exception Console.WriteLine("Send failed: " & ex.Message) End Try Else Console.WriteLine("Not connected to server.") End If End Sub Public Sub Disconnect() If stream IsNot Nothing Then stream.Close() End If If client IsNot Nothing Then client.Close() End If End Sub End Class Module Program Sub Main(args As String()) Dim client As New TCPClientExample() client.Connect("localhost", 12345) \' 请替换为实际的服务端地址和端口号 Console.WriteLine("Press Enter to send a message...") While Not Console.KeyAvailable If Console.KeyAvailable Then Dim input As String = Console.ReadLine() client.SendData(input) End If End While client.Disconnect() Console.WriteLine("Disconnected.") Console.ReadKey() End Sub End Module |
-- 作者:有点蓝 -- 发布时间:2024/8/9 9:49:00 -- http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=100826&skin=0 |