You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
private async Task FakeDataSource()
{
await Task.Delay(500);
Random rnd = new Random();
var randomBytes = new byte[64000]; // 64k
rnd.NextBytes(randomBytes);
while (true)
{
var packet = new VideoPacket(1280, 720, new MemoryStream(randomBytes , 0, randomBytes .Length, false, true));
_client.Send(packet);
}
}
Memory goes high in few seconds taking some Gb and then it crashes, I can see that an object of type Buffer has got all the RAM. As a weird note, If I add "await Task.Delay(1);" after the Send() it doesn't crash (but obviously is sending just a fraction of what's possible ).
What I am doing wrong ? How can I send as much as possible?
The text was updated successfully, but these errors were encountered:
You should limit a send buffer frame to some reasonable value (e.g. 10mb per client) and control in your code with BytesPending property or void OnSent(long sent, long pending) handler.
Also it is possible to generate and send a first portion of data, and wait until virtual void OnEmpty() handler it called and all the data was sent, then generate another portion.
I am trying to check net capacity and I am doing:
Memory goes high in few seconds taking some Gb and then it crashes, I can see that an object of type Buffer has got all the RAM. As a weird note, If I add "await Task.Delay(1);" after the Send() it doesn't crash (but obviously is sending just a fraction of what's possible ).
What I am doing wrong ? How can I send as much as possible?
The text was updated successfully, but these errors were encountered: