rlabrecque / Steamworks.NET

Steamworks wrapper for Unity / C#
http://steamworks.github.io
MIT License
2.65k stars 350 forks source link

Losing packets randomly k_EResultLimitExceeded #579

Open Nervniyak opened 9 months ago

Nervniyak commented 9 months ago

I am using Riptide and steam transport for it that wraps around Steamworks.NET.

And when I send a bunch of packets some of them never arrive because of k_EResultLimitExceeded reason.

Riptide uses this function from Steamworks.NET EResult SendMessageToConnection(HSteamNetConnection hConn, IntPtr pData, uint cbData, int nSendFlags, out long pOutMessageNumber)

No matter if I use k_nSteamNetworkingSend_Unreliable or k_nSteamNetworkingSend_Reliable flag I get this error.

Info in Google is very limited, but someone mentioned that there's hard limit in Steamworks of somewhere around 125000 to 200000 bytes per second.

What is this limit? How to avoid or circumvent it? I am currently sending 700 packets with rate of 95000 bytes per second.

Nervniyak commented 9 months ago

Is there receive buffer on client?