Implementation Details and Usage

1. Go to user's HOME directory.

2. Compile the setup file on all the clients. The setup file can be downloaded from:


This can be compiled using

$ cc -o setup setup.c

Setup allows you to add or remove other clients.

3. Compile the following files for actual synchronization.



This can be done using

$ cc -o sync sync.c


$ cc -o respond respond.c


Practically, one of the clients (say, client1) will request the other clients to synchronize. Hence, client1 will run sync, requesting the other clients to “respond” to its “sync” request.

****Note for Solaris/SunOS Programmers

When compiling for Solaris or Sun OS, you need to specify some extra command-line switches for linking in proper libraries. In order to do this, simply add "-lnsl -lsocket -l resolv" as:

$ cc -o sync sync.c -lnsl -lsocket -lresolv

$cc -o server server.c -lnsl -lsocket -lresolv

4. Run the setup file on each of the systems where it was compiled. Also, store its link in the bin directory.

5. Store the "respond" executable file formed in above steps in bin directory. This can be done as:

$cp respond ~/bin/ respond

6. Run the sync by storing its executable file in the bin directory first using

$cp sync ~/bin/sync


Here you go! All the clients are synchronized. Now each time you may need to synchronize. Just type


at the command prompt and you are done!