IRC Being Randomly Disconnected


#1

I am trying to JOIN a list of channels through a Python program, and after a few seconds and joining a few channels I get disconnected and the error

ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host

What I am doing is connecting, sending my oauth token, nick and then sending a bunch of JOIN messages. There are less than 50 channels to join so I don’t think I am hitting the JOIN rate limit. Thanks for any help in advance.


#2

50 channels? Thats quite a lot.

Sounds like you are hitting the send buffer limit. Basically you are hitting the “I’m not receiving messages in these channels quick enough and now the queue is too long, bye!”


#3

Hi, I fiigured out what was happening - I was trying to join offline streams. Now however after roughly 10-15 mins I just get spammed with empty messages and don’t receive real ones. Could you elaborate more on this buffer limit?


#4

Thats irrelevant…

That makes no sense do you have a raw line example of an “empty”?

To send data a system creates a queue, you consume that queue, if that queue gets too long your connection will be terminated.

You are ping/ponging actively?


#5

I think I fixed my problem (I wasnt appending \r\n to the PONG message), however is there a way to increase the queue length? What is a maximum amount of clients I can connect to? Also thanks for the help :slight_smile:


#6

No. If you don’t keep up you get disconnected. Pretty standard on anything real time message-y

Rate limits are covered in the docs here:

The “send buffer” is undocumented in the docs as it’s a thing thats standard in all messaging pipelines