Network Programming Syllabus

Network Programming Syllabus

Unit 1: Introduction

  • 1.1 Network Programming Features and Scope
  • 1.2 Network Programming Language, Tools & Platforms
  • 1.3 Client and Server Applications
  • 1.4 Client server model and software design

Unit 2: Internet Addresses

  • 2.1 The InetAddress Class: Creating New InetAddress Objects, Getter Methods, Address Types, Testing Reachability and Object Methods
  • 2.2 Inet4Address and Inet6Address
  • 2.3 The Network Interface Class: Factory Method & Getter Method
  • 2.4 Some Useful Programs: SpamCheck, Processing Web Server Logfiles

Unit 3: URLs and URIs

  • 3.1 URIs: URLs and Relative URLs
  • 3.2 The URL Class: Creating New URLs, Retrieving Data From a URL, Splitting a URL into Pieces, Equality & Comparison and Conversion
  • 3.3 The URI Class: Constructing a URI, The Parts of the URI, Resolving Relative URIs, Equality & Comparison and String Representation
  • 3.4 x-www-form-urlencoded: URL Encoder and URL Decoder
  • 3.5 Proxies: System Properties, The ProxyClass and The ProxySelector Class
  • 3.6 Communicating with Server-Side Programs Through GET
  • 3.7 Accessing Password-Protected Sites: The Authenticator Class, The PasswordAuthentication Class and The JPasswordField Class

Unit 4: HTTP

  • 4.1 The protocol: Keep-Alive
  • 4.2 HTTP Methods
  • 4.3 The Request Body
  • 4.4 Cookies: CookieManager and CookiesStore

Unit 5: URLConnections

  • 5.1 Openning URLConnections
  • 5.2 Reading Data from Server
  • 5.3 Reading Header: Retrieving specific Header Fields and Retrieving Arbitrary Header Fields
  • 5.4 Cache: Web Cache for Java
  • 5.5 Configuring the Connection: protected URL url, protected boolean connected, protected boolean allowUserInteraction, protected boolean doInput, protected boolean doOutput, protected boolean ifModificationSince, protected boolean useCaches and Timeouts
  • 5.6 Configuring the Client Request HTTP Header
  • 5.7 Security Considerations for URLConnections
  • 5.8 Guessing MIME Media Types
  • 5.9 HttpURLConnection: The Request Methods, Disconnecting from the Server, Handling Server Responses, Proxies and Streaming Mode

Unit 6: Socket for Clients

  • 6.1 Introduction to Socket
  • 6.2 Using Sockets: Investigating Protocols with telnet, Reading from Servers with Sockets, Writing to Servers with Sockets
  • 6.3 Constructing and connecting Sockets: Basic Constructors, Picking a Local Interface to Connect From, Constructing Without Connecting, Socket Addresses and Proxy Servers
  • 6.4 Getting Information about a Socket: Closed or Connected?, toString()
  • 6.5 Setting Socket Options: TCP_NODELAY, SO_LINGER, SO_TIMEOUT, SO_RCVBUF and SO_SNDBUF, SO_KEEPALIVE, OOBINLINE, SO_REUSEADDER and IP_TOS Class of Services
  • 6.6 Socket in GUI Applications: Whois and A Network Client Library

Unit 7: Socket for Servers

  • 7.1 Using ServerSockets: Serving Binary Data, Multithreaded Servers, Writing to Servers with Sockets and Closing Server Sockets
  • 7.2 Logging: What to Log and How toLog
  • 7.3 Constructing Server Sockets: Constructing Without Binding
  • 7.4 Getting Information about Server Socket
  • 7.5 Socket Options: SO_TIMEOUT, SO_RSUMEADDR, SO_RCVBUF and Class of Service
  • 7.6 HTTP Servers: A Single File Server, A Redirector and A Full-Fledged HTTP Server

Unit 8: Secure Socket

  • 8.1 Secure Communication
  • 8.2 Creating Secure Client Sockets
  • 8.3 Event Handlers
  • 8.4 Session Management
  • 8.5 Client Mode
  • 8.6 Creating Secure Server Socket
  • 8.7 Configure SSLServerSockets: Choosing the Cipher Suits, Session Management and Client Mode

Unit 9: Nonblocking I/O

  • 9.1 An Example Client and Server
  • 9.2 Buffers: Creating Buffers, Filling and Draining, Bulk Methods, Data Conversion, View Buffers, Compacting Buffers, Duplicating Buffers, Slicing Buffers, Marking and Resetting, Object Methods
  • 9.3 Channels: SocketChannel, ServerSocketChannel, The Channels Class, Asynchronous Channels, Socket Options
  • 9.4 Readiness Selection: The Selector Class, The SelectionKey Class

Unit 10: UDP

  • 10.1 UDP Protocol
  • 10.2 UDP Clients
  • 10.3 UDP Servers
  • 10.4 The DatagramPacket Class: The Constructor, The get Methods, The setter Methods
  • 10.5 The DatagramSocket Class: The Constructor, Sending and Receiving Datagrams, Managing Connections
  • 10.6 Socket Options: SO_TIMEOUT, SORCVBUF, SO_SNDBUF, SO_RSUMEADDR, SO_BROADCAST and IP_TOS
  • 10.7 UDP Applications: Simple UDP Clients, UDPServer and A UDP Echo Client
  • 10.8 DatagramChannel: Using DatagramChannel

Unit 11: IP Multicast

  • 11.1 Multicasting: Multicast Address and Groups, Clients and Servers, Routers and Routing
  • 11.2 Working with Multicast Sockets: The Constructor, Communicating with a Group

Unit 12: Remote Method Invocation (RMI)

  • 12.1 Defining and Implementing RMI Service Interface
  • 12.2 Creating an RMI Server and Client
  • 12.3 Running the RMI System

Comments

Popular posts from this blog

TCP IP Model

Computer Network Roadmap