Click here to Skip to main content
15,886,673 members
Please Sign up or sign in to vote.
1.80/5 (2 votes)
In my code, shown below, server sends 2 responses separately at one time to the client. But my client gets only 1st response and did not get 2nd one. What happened to 2nd response?

Client side code (section of receiving data from server):

C#
while (true)
{
    NetworkStream networkStream = clientSocket.GetStream();
    int bytesRead = networkStream.Read(bytesFrom, 0, bytesFrom.Length);
    dataFrom = Encoding.ASCII.GetString(bytesFrom, 0, bytesRead) + "\n";
    networkStream.Flush();
}


Server side code (section of receiving data from client and sending respose):

C#
while ((true))
{
    NetworkStream networkStream = clientSocket.GetStream();
    networkStream.Read(bytesFrom, 0,(int)clientSocket.ReceiveBufferSize);
    dataFromClient = Encoding.ASCII.GetString(bytesFrom);

    serverResponse = "First msg from server";
    sendBytes = Encoding.ASCII.GetBytes(serverResponse);
    networkStream.Write(sendBytes, 0, sendBytes.Length);

    serverResponse = "Second msg from server";
    sendBytes = Encoding.ASCII.GetBytes(serverResponse);
    networkStream.Write(sendBytes, 0, sendBytes.Length);

    networkStream.Flush();
}
Posted
Comments
Joan Magnet 13-Mar-15 11:51am    
Why are you flushing your client after first response?
I think you're flushing the second one.

1 solution

Thanks _duDE_ for the reply,

I have tried your solution. But server still sends only first respose. :(
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900