21MCA23DB1: NETWORK PROGRAMMING
Course Outcomes: By the end of the course the students will be able to:
CO1: Understand TCP/IP and Network Architecture.
CO2: Creating sockets and socket implementation.
CO3: Windows Socket API and their programming.
CO4: Web programming and implementing security. CO5: Performing client side programming and
server side programming.
Max. Marks: 100 (80+20) Time: 3Hrs
Note: Examiner will be required to set NINE questions in all. Question Number 1 will consist of total 8
parts (short-answer type questions) covering the entire syllabus and will carry 16 marks. In addition to
the compulsory question there will be four units i.e. Unit-I to Unit-IV. Examiner will set two questions
from each Unit of the syllabus and each question will carry 16 marks. Student will be required to
attempt FIVE questions in all. Question Number 1 will be compulsory. In addition to compulsory
question, student will have to attempt four more questions selecting one question from each Unit.
UNIT- I
Introduction: Overview of UNIX OS, Environment of a UNIX process, Process control, Process
relationships Signals, Inter process Communication, Overview of TCP/IP, Network architecture, UUCP,
XNS, IPX/SPX for LANs, TCP & IP headers, IPv4 & v6 address structures.
Socket Programming: Creating sockets, Posix data type, Socket addresses, Assigning address to a socket,
Java socket programming, Thread programming, Berkeley Sockets: Overview, socket address structures,
byte manipulation & address conversion functions, elementary socket system calls – socket, connect,
bind, listen, accept, fork, exec, close, TCP ports (ephemeral, reserved), Berkeley Sockets: I/O
asynchronous & multiplexing models, select & poll functions, signal & fcntl functions, socket
implementation (client & server programs), UNIX domain protocols.
UNIT- II
APIs & Winsock Programming: Windows socket API, window socket & blocking I/O model, blocking
sockets, blocking functions, timeouts for blocking I/O, API overview, Different APIs & their programming
technique, DLL & new API’s, DLL issues, Java Beans.
UNIT- III
Web Programming & Security: Java network programming, packages, RMI, Overview of Javascript, WAP
architecture & WAP services, Web databases, Component technology, CORBA concept, CORBA
architecture, CGI programming, Firewall & security technique, Cryptography, Digital Signature.
UNIT- IV
Client Server Programming: Client side programming:- Creating sockets, implementing generic network
client, Parsing data using string Tokenizer, Retrieving file from an HTTP server, Retrieving web
documents by using the URL class.
Server side programming: - Steps for creating server, Accepting connection from browsers, creating an
HTTP server, adding multithreading to an HTTP server.
Suggested Readings:
1. W.Richard Stevens: Advanced Programming in the UNIX Environment, Addison Wesley.
2. W. Stevens, Bill Fenner, Andrew Rudoff: UNIX Network Programming -Volume 1 (The Sockets
Networking API), Pearson Education/Prentice-Hall International.
3. Meeta Gandhi,Tilak Shetty and Rajiv Shah: The ‘C’ Odyssey Unix –The open Boundless C, BPB
Publications.
4. Steven.W.R: UNIX Network Programming (Volume I& II), PHI.
5. Bobb Quinn and Dave Schutes: Window Socket Programming by
6. Davis.R.: Windows Network Programming, Addison Wesley.
7. Baner .P.: Network Programming With Windows Socket, Prentice Hall.
8. Any other book(s) covering the contents of the paper in more depth. Note: Latest and additional
good books may be suggested and added from time to time.