meta data for this page

This is an old revision of the document!

Assignment2: Notes

These pages will contain notes about the first assignment including some corrections and ways how to do things correctly.

Test your application!

Check before send that your application compiles and runs with required parameters. Follow also the given names for the program executables.

Check also that the application works! If some feature cannot be tested or it is not working at all it will not be counted as a feature! So; make sure that the features are a) documented in README and b) working.

Remember to drop membership from multicast

Always when you join to multicast group you must tell the kernel also to leave from the multicast so the switches handling the groups know that. The kernel informs the switches about this when you call

setsockopt (socket, IPPROTO_IP, IP_DROP_MEMBERSHIP, &mreq, sizeof(mreq));


The notes from assignment 1 presented ways how to implement a protocol that is written in different ways. FOLLOW IT. In next ones (especially 4th) if the protocol is not followed then it is 0 points.

So a list for you to follow:

  1. Use correct packet format. If the protocol states that the integers are sent as binary, do not even think about putting them as characters.
  2. Always send multi-byte integers in network order! 8 bits = 1 byte, not a multi byte!

And remember that invalid packets should not crash or make it possible to shut down the application. Instead discard invalid data.