Azure / azure-relay-dotnet

☁️ .NET Standard client library for Azure Relay Hybrid Connections

Home Page:https://docs.microsoft.com/en-us/azure/service-bus-relay/relay-what-is-it

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Server sample stops sending of data

ddobric opened this issue · comments

I have slightly changed the server sample application to continuously send the data to accepted connection.

                           while (true)
                            {
                                await writer.WriteLineAsync(DateTime.Now.ToLongTimeString());                               
                                Thread.Sleep(N);
                            }

After a while, server simply stops sending of data to that connection. I have also changed the version of server to prevent buffer overflow of the Console application, which might happen if too many data is written in the console output.
When server stops writing, there is no any error indication.

While the same instance of the server (and client) is running (no more data exchange), I start next client. After a while server stops again sending of data to that client too.

maybe this is because 'buffer' issue in writer, you can see #57 , and try to write data directly by using Stream.

I agree the buffering could contribute. Add a call to Flush[Async] before the sleep/delay. However, I don't have full confidence that will make your issue work properly. What is the thread.sleep duration? (Also, use await Task.Delay(N) instead of Thread.Sleep to free up threadpool threads).

@ddobric, are you still experiencing an issue? Please let us know how else we can help you.