255 is maybe a reasonable cap, I dunno.  Mainly I'd be most interested in the 
API exporting whatever values are needed so that the user code can 
programmatically ensure the DLL_MessageEnd never occurs.

At 2007/03/04 11:52 PM, Yahn Bernier wrote:
>The internal buffer's are much larger (~2500 bytes) since they are used
>for other possible messages.  I'll see about setting the exact sizes so
>the GetBytesRemaining would be correct.
>
>We can see about raising the limit on UserMessage sizes at the same
>time.  Still, the splitting thing you mentioned is a good workaround for
>very large payloads.
>
>The limit is enforced on the server, so I think you'll get all 255 for
>payload.  The bf_read sounds like it has been pre-parsed up to the start
>of the payload.
>
>I'll check this out in the next few days since I've been messing around
>with the public code a bit.
>
>Yahn
>
>-----Original Message-----
>From: [EMAIL PROTECTED]
>[mailto:[EMAIL PROTECTED] On Behalf Of
>[EMAIL PROTECTED]
>Sent: Sunday, March 04, 2007 12:14 PM
>To: [email protected]; [email protected]
>Subject: RE: [hlcoders] DLL_MessageEnd: Refusing to send user message %s
>of %d bytes to client, user message size limit is 255 bytes
>
>Thanks - can that internal value be exported somehow?
>bf_write::GetNumBitsLeft() doesn't seem to know about it, for instance,
>and thinks the limit is much higher.
>
>The first 3 bytes of bf_read::m_pData always contain some seemingly
>somewhat random bytes of data, although if I recall correctly the first
>two were always 0x17 and 0x03 or something like that.  bf_read::Read*()
>ignore those first few bytes because the m_iCurBit data member always
>starts out just past those bytes at 24 or so, so the API functions
>correctly from that perspective.  It's just a concern that that extra
>data might steal at random from the 255 limit.
>
>At 2007/03/04 02:03 PM, Yahn Bernier wrote:
>>The internal #define is 255 characters.
>>Not sure what the 3 bytes of overhead is.  Are you saying that when you
>
>>parse a message out of the bf_read, you have to discard the first three
>
>>bytes, or that the payload is only 252 bytes or less?
>>
>>Yahn
>>
>>-----Original Message-----
>>From: [EMAIL PROTECTED]
>>[mailto:[EMAIL PROTECTED] On Behalf Of
>>[EMAIL PROTECTED]
>>Sent: Sunday, March 04, 2007 10:33 AM
>>To: [email protected]
>>Subject: Re: [hlcoders] DLL_MessageEnd: Refusing to send user message
>>%s of %d bytes to client, user message size limit is 255 bytes
>>
>>I worked around this issue by implementing a queue system which sends a
>
>>max of X bytes in each user message per server frame, along with client
>
>>functionality to collect all the tiny messages and reassemble the
>>original larger message.
>>
>>There also seems to be 3 bytes of overhead at the beginning of bf_read
>>data buffer.  So seemingly the max size available to the user is 252,
>>not 255?  Those 3 bytes are unreferenced in the SDK as far as I can
>>tell, and seem to be internal to the closed-source size of things.
>>
>>I chose "200" for X to be safe since the 255 limit is seemingly
>>undocumented, and the scary extra bytes at the beginning might possibly
>
>>change at any time.  It'd be nice if someone (Valve?) would confirm
>>what the max value really is, and/or what constant to use for the max
>size.
>>
>>
>>At 2007/03/03 11:54 PM, you wrote:
>>>Well in this particular case I am sending an arbitrarily-sized list of
>>RPG character related data to the user.  Any fixed limit would be
>>undesirable.  A larger limit (4K) would be acceptable, since, in
>>practice the maximum amount of data is probably about 1K.
>>>
>>>As I understand it, the string tables are sent to all clients.  I
>>>don't
>>want to spam every client with this data, since it's only useful to the
>
>>client that it's directed at.
>>>
>>>At 2007/03/03 11:31 PM, LDuke wrote:
>>>>--
>>>>[ Picked text/plain from multipart/alternative ] What kind of user
>>>>message is this?
>>>>
>>>>The MOTD messages are limited to 255 bytes for TYPE_TEXT. To use more
>
>>>>than that, you have to add the text to be displayed to the string
>>>>tables and use TYPE_INDEX (this method has a limit of around 4kb).
>>>>
>>>>On 3/3/07, [EMAIL PROTECTED]
>>>><[EMAIL PROTECTED]>
>>>>wrote:
>>>>>
>>>>> Whenever an attempt is made to send anything but the very smallest
>>>>> of user messages, the following error occurs:
>>>>>
>>>>> DLL_MessageEnd:  Refusing to send user message %s of %d bytes to
>>>>> client, user message size limit is 255 bytes
>>>>>
>>>>> It doesn't have anything to do with the usermessages->Register
>>>>> specified limit.  It also seems completely unrelated to the value
>>>>> the bf_write::GetNumBytesLeft reports, which is typically in the
>>>>> 2600 range or so.  So the question is, where is this number coming
>>>>> from, and can it be increased?
>>>>>
>>>>> _______________________________________________
>>>>> To unsubscribe, edit your list preferences, or view the list
>>>>> archives, please visit:
>>>>> http://list.valvesoftware.com/mailman/listinfo/hlcoders
>>>>>
>>>>>
>>>>--
>>>>
>>>>_______________________________________________
>>>>To unsubscribe, edit your list preferences, or view the list
>>>>archives,
>>please visit:
>>>>http://list.valvesoftware.com/mailman/listinfo/hlcoders
>>>
>>>_______________________________________________
>>>To unsubscribe, edit your list preferences, or view the list archives,
>>please visit:
>>>http://list.valvesoftware.com/mailman/listinfo/hlcoders
>>
>>_______________________________________________
>>To unsubscribe, edit your list preferences, or view the list archives,
>>please visit:
>>http://list.valvesoftware.com/mailman/listinfo/hlcoders
>>
>>
>>_______________________________________________
>>To unsubscribe, edit your list preferences, or view the list archives,
>please visit:
>>http://list.valvesoftware.com/mailman/listinfo/hlcoders
>
>_______________________________________________
>To unsubscribe, edit your list preferences, or view the list archives,
>please visit:
>http://list.valvesoftware.com/mailman/listinfo/hlcoders
>
>
>_______________________________________________
>To unsubscribe, edit your list preferences, or view the list archives, please 
>visit:
>http://list.valvesoftware.com/mailman/listinfo/hlcoders

_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders

Reply via email to