1. Home
  2. Docs
  3. Network Programming

Network Programming

Syllabus

  1. Introduction : (teaching hours: 3 hrs)
    1. Network Programing Features and Scope
    2. Network Programming Language, Tools & Platforms
    3. Client and Server Applications
    4. Client server model and software design
  2. Internet Addresses (teaching hours: 2 hrs)
    1. The InetAddress Class: Creating New InetAddress Objects, Getter
    2. Methods, Address Types, Testing Reachability and Object Methods
    3. Inet4Address and lnet6Address
    4. The Network Interface Class: Factory Method & Getter Method
    5. Some Useful Programs: SpamCheck, Processing Web Server Logfiles
  3. URLs and URIs (teaching hours: 5 hrs)
    1. URIs: URLs and Relative URLs
    2. The URL Class: Creating New URLs, Retrieving Data From a URL, Splitting a URL into Pieces, Equality & Comparison and Conversion
    3. The URI Class: Constructing a URI, The Parts of the URI, Resolving Relative URIs, Equality & Comparison and String Representation
    4. x-www-form-urlencoded: URL Encoder and URL Decoder
    5. Proxies: System Properties, The ProxyClass and The ProxySelector Class
    6. Communicating with Server-Side Programs Through GET
    7. Accessing Password-Protected Sites: The Authenticator Class, The PasswordAuthentication Class and The JPasswordField Class
  4. HTTP (teaching hours: 2 hrs)
    1. The protocol: Keep-Alive
    2. HTTP Methods
    3. The Request Body
    4. Cookies: CookieManager and CookiesStore
  5. URLConnections (teaching hours: 5 hrs)
    1. Openning URLConnections
    2. Reading Data from Server
    3. Reading Header: Retrieving specific Header Fields and Retrieving Arbitrary Header Fields
    4. Cache: Web Cache for Java
    5. Configuring the Connection: protected URL url, protected boolean connected, protected boolean allowUserInteraction, protected boolean dolnput, protected boolean doOutput, protected boolean ifModificationSince, protected boolean useCaches and Timeouts
    6. Configuring the Client Request HTTP Header
    7. Security Considerations for URLConnections
    8. Guessing MIME Media Types
    9. HttpURLConnection: The Request Methods, Disconnecting from the Server, Handling Server Responses, Proxies and Streaming Mode
  6. Socket for Clients (teaching hours: 5 hrs)
    1. Introduction to Socket
    2. Using Sockets: Investigating Protocols with telnet, Reading from Servers with Sockets, Writing to Servers with Sockets
    3. Constructing and connecting Sockets: Basic Constructors, Picking a Local Interface to Connect From, Constructing Without Connecting, Socket Addresses and Proxy Servers
    4. Getting Information about a Socket: Closed or Connected?, toString()
    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. Socket in GUI Applications: Whois and A Network Client Library
  7. Socket for Servers (teaching hours: 5 hrs)
    1. Using ServerSockets: Serving Binary Data, Multithreaded Servers, Writing to Servers with Sockets and Closing Server Sockets
    2. Logging: What to Log and How to Log
    3. Constructing Server Sockets: Constructing Without Binding
    4. Getting Information about Server Socket
    5. Socket Options: SO_TIMEOUT, SO_RSUMEADDR, SO_RCVBUF and Class of Service
    6. HTTP Servers: A Single File Server, A Redirector and A Full-Fledged HTTP Server
  8. Secure Socket (teaching hours: 4 hrs)
    1. Secure Communication
    2. Creating Secure Client Sockets
    3. Event Handlers
    4. Session Management
    5. Client Mode
    6. Creating Secure Server Socket
    7. Configure SSLServerSockets: Choosing the Cipher Suits, Session Management and Client Mode
  9. Nonblocking I/O (teaching hours: 3 hrs)
    1. An Example Client and Server
    2. Buffers: Creating Buffers, Filling and Draining, Bulk Methods, Data Conversion, View Buffers, Compacting Buffers, Duplicating Buffers, Slicing Buffers, Marking and Resetting, Object Methods
    3. Channels: SocketChannel, ServerSocketChannel, The Channels Class, Asynchronous Channels, Socket Options
    4. Readiness Selection: The Selector Class, The SelectionKey Class
  10. UDP (teaching hours: 5 hrs)
    1. UDP Protocol
    2. UDP Clients
    3. UDP Servers
    4. The DatagramPacket Class: The Constructor, The get Methods, The setter Methods
    5. The DatagramSocket Class: The Constructor, Sending and Receiving Datagrams, Managing Connections
    6. Socket Options: SO_TIMEOUT, SORCVBUF, SO_SNDBUF, SO_ RSUMEADDR, SO_BROADCAST and IP_TOS
    7. UDP Applications: Simple UDP Clients, UDPServer and A UDP Echo Client
    8. DatagramChannel: Using DatagramChannel
  11. IP Multicast (teaching hours: 2 hrs)
    1. Multicasting: Multicast Address and Groups, Clients and Servers, Routers and Routing
    2. Working with Multicast Sockets: The Constructor, Communicating with a Group
  12. Remote Method Invocation (teaching hours: 2 hrs)
    1. Defining and Implementing RMI Service Interface
    2. Creating an RMI Server and Client
    3. Running the RM1 System

Materials

Articles

Was this article helpful to you? Yes No

How can we help?