Mailing Lists: Apple Mailing Lists
Image of Mac OS face in stamp
Carbon ATalk endpoints and RTMP
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Carbon ATalk endpoints and RTMP



Hi,

We're porting a Classic Mac OS application that still does a bit of
AppleTalk-oriented OT-based networking to a Carbon/CFM application.

One of the "features" of Carbon is that when one is sending on an
AppleTalk endpoint, one must bind to a particular DDP protocol type.
This was not the case with Classic Mac OS. So, the code necessary to
do the Carbon bind for an RTMP (DDP type 1) dynamically allocated
socket is:

bindinfo.qlen = 0;
bindinfo.addr.len = bindinfo.addr.maxlen = sizeof(DDPAddress);
bindinfo.addr.buf = (void *)&ddpAddress;
ddpAddress.fAddressType = AF_ATALK_DDP;
ddpAddress.fNetwork = 0;
ddpAddress.fNodeID = 0;
ddpAddress.fSocket = 0;
ddpAddress.fDDPType = 1;
ddpAddress.fPad = 0;
osres = OTBind(ot_rtmpep, &bindinfo, (TBind *)NULL);

This works great in most cases, but we've come across a problem
related to RTMP. Unfortunately, if one wants to send an RTMP RDR request
or split-horizon request, the DDP type is 5. However, AppleTalk
routers will always respond to an RDR or split-horizon request with DDP
type 1. After binding to DDP type 5 to send the request, the socket looks
like it rejects the reply because it is of DDP type 1.

We tried a little hack of binding to type 5, sending the request then
immediately unbinding and rebinding to type 1 using the same socket
before looking for the data. This hack fails because when we try to
rebind, we get kEADDRNOTVALIDErr which probably means we can't reuse the
same socket. It's not clear the hack would work anyway because the router
may respond before we can unbind, then rebind.

I realize AppleTalk within the Carbon model, especially related to RTMP,
is a somewhat esoteric topic at this point. However, does anyone have a
workaround for this problem or can point out where we've gone wrong?

Thanks for your time,

Michael Swan
Neon Software, Inc.
_______________________________________________
macnetworkprog mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/macnetworkprog
Do not post admin requests to the list. They will be ignored.



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2011 Apple Inc. All rights reserved.