|
|
|
|
|
by ygra
4371 days ago
|
|
Fun thing is: It's 512 bytes for everything, not just the part you typed. So this includes the command and channel, the trailing CRLF and I think when routing through different servers the server name gets stuck in there somewhere, too. Which means that a client has no idea how long the actual message is that it's going to be able to send. |
|
Most clients that do attempt to split long texts into multiple messages get one of these wrong:
- They miscalculate the number of bytes available for payload, because they don't check with the server's idea of their hostmask (which can change during the session e.g. due to authentication) to calculate the length of the preamble as seen on the receiving end.
- They count characters and ignore the number of bytes they actually encode to (either in the message or the preamble, or both: there are some networks like the Korean Ozinger that allow Utf-8 nicknames).
KDE's Konversation does both correctly (it also has some other nice visualizations of server/protocol-imposed limits, e.g. when you try to change the channel topic it'll color text past the server limit in red, again taking into account character and formatting code encoding).
Most clients don't even try at all though.