Re: OTListen in OS 9
Re: OTListen in OS 9
- Subject: Re: OTListen in OS 9
- From: Larry Abel <email@hidden>
- Date: Fri, 2 May 2003 09:44:46 -0700
At 3:12 PM -0400 5/1/03, Lyndsey Ferguson wrote:
>
My app in OS X is waiting for a UDP packet using OTRcvUData (actually OTMP's
>
OTMPXRcvUData). When it receives the data (which is a port number) it calls
>
OTConnect (OTMPXConnect).
I had a similar problem with UDP communication on OS X. I knew the server machine was sending UDP messages to my client but the client wasn't seeing them. The problem was that in OS X, the client endpoint's T_DATA event wasn't getting cleared.
In OS 9, to receive a UDP message, I would call OTRcvUData until I got the expected number bytes. And that worked fine. But in OS X, if you do that, the T_DATA event doesn't get cleared. You need to call OTRcvUData one more time to clear the T_DATA.
So, what works in 9 and X is to call OTRcvUData until it returns kOTNoDataErr.
Later I discovered this in a tech note:
http://developer.apple.com/techpubs/mac/NetworkingOT/NetworkingWOT-28.html
You do not have to issue calls that clear events in the notification routine itself,
but until you make the consuming calls and receive a kOTNoDataErr error, another
T_DATA, T_EXDATA, or T_REQUEST event is not guaranteed to be issued.
-- Larry Abel
_______________________________________________
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.