? What are Metacard's UDP (datagram) Limits
Sparticus Zarris, Cross Country Communications
spartics at aye.net
Mon Apr 29 23:16:01 EDT 2002
I'm trying to see what the limit is for UDP "packets" sent from Metacard using the form:
open datagram socket to <socketID>
write <myData> to socket <socketID>
Keep in mind this is for UDP packets (datagram).
I set up a sender and a listener using the MetaCard stack "chat.mc" as the shell.
Here's the problem.
I thought there would be a limit of some sort on the packet size -- probably associated with the size of Ethernet frames on my network, or a multiple of that size.
I sent 32K of data, and got it out the other end, exactly.
I then assumed there was no problem, maybe there was NO limit.
Then I wrote a simple app that assumed there was NO limit.
My simple app wouldn't work.
My simple app was sending blocks of about 64K.
I re-tested using the "chat.mc" shell.
Turns out, I can send any amount of data, any kind of data, but no more than EXACTLY 65,507 bytes.
If I sent 65,508 bytes, NO PART OF THE DATA IS SENT. NO ERROR IS REPORTED.
WHY, is this a MetaCard limit? I'm sure Scott will explain this away as a feature, so it would be nice to understand the rationale, and if this is identical across all platforms
What kind of a limit is 65,507 bytes. It is NOT a power of 2. But is sure dang close.
What does it mean.
Is it yet another flaw in MC.
Has anyone else ever run into this. Is this a hard-and-fast limit across all platforms?
Is this this way because of some underlying API (like maybe a limit in BerkeleySockets, or some such API that Meta is using).
Or maybe that he is setting a buffer size some place, and it should be set to another value??
I am using PowerPC Macintosh on OS 9.04, and 8.5.1 and MC 2.4.1
Why can't I find this documented anywhere?
Clues?
More information about the metacard
mailing list