YEDITEPE UNIVERSITY
ICS 471 DATA COMMUNICATION AND COMPUTER NETWORKS
SPRING 2002
ASSIGNMENT I
(Data Frame Transfers)
In this assignment you will enhance the concept of data frames that has been introduced to you
with the workshop on asynchronous serial port programming. The overall implementation is
about a file transfer program that allows two users on two different computers to send files to
each other by making use of two connected PCs on their serial ports.
In the implementation, a frame format must be specified and used, and each node should be
capable of transmitting and receiving files. GUI design is not restrictive but should at least
provide users a reasonable interface to select and send files to other party. Also users should be
notified of a possible reception of a file. Your program have to let the user choose and send a
file while he/she is receiving a file currently. (A clever design of concurrency is required!)
The code you write will be suitable to be compiled on both Turbo C/DOS, and gcc/Linux
environment and the one and only difference will be on a function you write, say it
send_one_byte(). This function sends one byte to the appropriate serial port and rest of your
code will interact with the serial port via this function. The DOS port of your code will make
use of serial port as you know (by outport/inport functions), the Linux port of your code will
make use of serial port as you will search-and-find (The Serial HOWTO on the course web
page will be helpful). There will not be two different C files for two different platforms, but
you will define send_one_byte() function two times by using #ifdef and #endif
preprocessor directives. You will have to cross-check your code on two different platforms.
As you implement an abstract send_one_byte()function, your code on upper layer (the part
that breaks the file into your frames and then sends them) will be independent of the lower
layer (the part that deals with the serial port)
Due date for this assignment is Apr. 19th , 2002 and submitters will schedule for a demo of the
assignment on Apr. 22nd , 2002. All students will work individually and a formal report will
be submitted together with a working and commented code.
Mesut Ali Ergin
ergin@ics.yeditepe.edu.tr