[comp.sys.mac.programmer] appletalk query

roseman@cpsc.ucalgary.ca (Mark Roseman) (05/11/91)

Hi, I have a question regarding broadcasting messages over Appletalk.
The situation is as follows.  I have several copies of an application
running on a single network.  One of these copies wants to send the
same message to all the others.  How do I do this?

I've seen that setting the node ID in my outgoing message to $FF sends
the message to each node.  However, how does it get to my particular
socket?  If such a broadcasted message goes to all sockets, how do I
distinguish it from broadcast messages sent from anyone else?  Help!


-- 
==============================================================================
Mark Roseman
Dept. of Computer Science, University of Calgary, Calgary, Alta.  T2N 1N4
(403) 220-5769   roseman@cpsc.ucalgary.ca    {ubc-cs|alberta}!calgary!roseman

davids@mondo.engin.umich.edu (David Snearline) (05/11/91)

In article <1991May10.192642.7839@cpsc.ucalgary.ca> roseman@cpsc.ucalgary.ca (Mark Roseman) writes:
>Hi, I have a question regarding broadcasting messages over Appletalk.
>The situation is as follows.  I have several copies of an application
>running on a single network.  One of these copies wants to send the
>same message to all the others.  How do I do this?
>
>I've seen that setting the node ID in my outgoing message to $FF sends
>the message to each node.  However, how does it get to my particular
>socket?  If such a broadcasted message goes to all sockets, how do I
>distinguish it from broadcast messages sent from anyone else?  Help!

Last summer I wrote an application that used network broadcasts.  Some
things to keep in mind are:

	1. You are limited to DDP for data transmission, so you will
	have to implement your own verification algorithm.  I ended
	up using a broadcast window with directed verification to
	all of the clients.

	2. You will need to allocate a _static_ socket number for
	the server and clients, which is not necessarily recommended.
	Store it in the resource fork so it can be changed, but every
	client must have the same number.

	3. Ensure that the data is yours, since bogus packets do
	float around on larger networks.  I really got bitten by
	this one initially.  Try sending both your application
	creator type and a secondary data checksum in your packets.

Good luck on the project.

--- Dave --- 


--
David Snearline
CAEN Network Operations
University of Michigan Engineering