How to get all data from NetworkStream

前端 未结 7 2160
执念已碎
执念已碎 2020-12-01 08:45

I am trying to read all data present in the buffer of the Machine connected through TCP/IP but i don\'t know why i am not getting all data ,some data is getting

7条回答
  •  Happy的楠姐
    2020-12-01 09:10

    This example from MSDN: NetworkStream.DataAvailable shows how you can use that property to do so:

    // Examples for CanRead, Read, and DataAvailable. 
    // Check to see if this NetworkStream is readable. 
    if(myNetworkStream.CanRead)
    {
        byte[] myReadBuffer = new byte[1024];
        StringBuilder myCompleteMessage = new StringBuilder();
        int numberOfBytesRead = 0;
    
        // Incoming message may be larger than the buffer size. 
        do{
             numberOfBytesRead = myNetworkStream.Read(myReadBuffer, 0, myReadBuffer.Length);
    
             myCompleteMessage.AppendFormat("{0}", Encoding.ASCII.GetString(myReadBuffer, 0, numberOfBytesRead));
    
        }
        while(myNetworkStream.DataAvailable);
    
        // Print out the received message to the console.
        Console.WriteLine("You received the following message : " +
                                     myCompleteMessage);
    }
    else
    {
         Console.WriteLine("Sorry.  You cannot read from this NetworkStream.");
    }
    

提交回复
热议问题