我正在努力工作。我成功地將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中。