我正在努力工作。我成功地将TcpClient对象连接到两个独立的远程机器并向它们传输数据。基本上,我试图连接到端口80上的机器1并发送GET请求。一旦我发送请求,我想保持连接处于活动状态,以便另一侧的软件可以在准备就绪时发送数据。如何保持连接处于打开状态并每次在流中提供数据时读取数据?我试过并尝试使用NetworkStream.Read和BeginRead无济于事。我来的最近的是每隔30秒睡一下我的线程,然后做另一个不需要的GET请求。这里是我从流中读取的当前代码。我知道我需要在这里的某个地方一个循环:如何使用.NET NetworkStream和TcpClient连接到远程IP并等待数据?
注:RemoteSocket是由这点连我的TcpClient对象
Dim serverStream As NetworkStream = RemoteSocket.GetStream()
rqst = "GET /Control/Clip_Forwarding_Stream?CameraName=" & URL_Encode(Name) & " HTTP/1.0" & vbCrLf & vbCrLf
Dim stream As Byte() = Encoding.GetEncoding("Windows-1252").GetBytes(rqst)
serverStream.Write(stream, 0, stream.Length)
Dim inStream(1024) As Byte
Dim recv = serverStream.Read(inStream, 0, inStream.Length)
Dim data = Encoding.GetEncoding("Windows-1252").GetString(inStream, 0, recv)
我做的数据是其传递给该方法:
注:ForwardSocket是由这点
Dim serverStream As NetworkStream = ForwardSocket.GetStream()
Dim stream As Byte() = Encoding.GetEncoding("Windows-1252").GetBytes(data)
serverStream.Write(stream, 0, stream.Length)
任何例子可以在C#或VB作为我最熟悉C#连接我其他的TcpClient对象只是不得不写这所有在VB中。