.Net Sockets
-
I'm working on a socket program using .net and going against a Unix server. The delays in the following code are needed for it to work correctly. Can anyone help me find a way to get this working without adding the delay?
Friend Function Insert(ByVal Name As String, ByVal Client As System.Net.Sockets.TcpClient, ByVal netStream As NetworkStream, ByVal sr As StreamWriter) As String Dim InsertRequest As String = "INSERT::" & Name & ";" Dim sendInsertRequest As [Byte]() = Encoding.ASCII.GetBytes(InsertRequest) ''// Submit Insert Request sr.WriteLine("CMD-" & vbTab & InsertRequest) netStream.Write(sendInsertRequest, 0, sendInsertRequest.Length) ''// Get Response Dim Response As String = GetResponse(Client, netStream, sr) Return Response End Function Private Function GetResponse(ByVal Client As System.Net.Sockets.TcpClient, ByVal netStream As NetworkStream, ByVal sr As StreamWriter) As String ''// Add Delay System.Threading.Thread.Sleep(m_delay) ''// Read Buffer and Write to Open File Dim numberOfBytesRead As Integer = 0 Dim bytes(Client.ReceiveBufferSize) As Byte Dim returndata As String = Encoding.ASCII.GetString(bytes) Dim SocketData As New System.Text.StringBuilder Do numberOfBytesRead = netStream.Read(bytes, 0, uCVT.IntNulls(Client.ReceiveBufferSize)) returndata = Encoding.ASCII.GetString(bytes) returndata = Microsoft.VisualBasic.Left(returndata, numberOfBytesRead) SocketData.Append(returndata) System.Threading.Thread.Sleep(m_delay) Loop While netStream.DataAvailable sr.WriteLine("RSP-" & vbTab & SocketData.ToString) Return SocketData.ToString End Function
Thank you, Jason W.