0% found this document useful (0 votes)
70 views

Module 2: Socket Programming: 8Cspl6241-Advanced Java Programming

This document discusses Java socket programming and networking concepts, including how Java uses the java.net package to support TCP and UDP networking protocols. It defines common networking terminology like IP addresses, port numbers, and sockets. Additionally, it covers the advantages of Java networking like sharing resources and centralized software management.

Uploaded by

Surya Gupta
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
70 views

Module 2: Socket Programming: 8Cspl6241-Advanced Java Programming

This document discusses Java socket programming and networking concepts, including how Java uses the java.net package to support TCP and UDP networking protocols. It defines common networking terminology like IP addresses, port numbers, and sockets. Additionally, it covers the advantages of Java networking like sharing resources and centralized software management.

Uploaded by

Surya Gupta
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

8CSPL6241-ADVANCED JAVA PROGRAMMING

Module 2: Socket Programming


• Introduction

• Advantage of Java Networking,

• Java Networking Terminology,

• java.net package

Session 10

Prof. Mohan Reddy . Y


SOSS, CMR University
Java Networking

• Java Networking is a concept of connecting two or more computing devices together so that we can share resources.
• Java socket programming provides facility to share data between different computing devices.

Advantage of Java Networking

1.Sharing resources
2.Centralize software management

java.net package

The java.net package supports following two protocols

1. TCP:
• Transmission Control Protocol provides reliable communication between the sender and receiver.
• TCP is used along with the Internet Protocol referred as TCP/IP.

2. UDP:
• User Datagram Protocol provides a connection-less protocol service by allowing packet of data to be transferred
along two or more nodes
Java Networking Terminology
Following are the widely used Java networking terminologies:
1. IP Address
2. Protocol
3. Port Number
4. MAC Address
5. Connection-oriented and connection-less protocol
6. Socket

1) IP Address

• IP address is a unique number assigned to a node of a network e.g. 192.168.0.1 . It is composed of octets that range
from 0 to 255.
• It is a logical address that can be changed.

2) Protocol

A protocol is a set of rules basically that is followed for communication. For example:
• TCP
• FTP
• Telnet
• SMTP
• POP etc.
3) Port Number
• The port number is used to uniquely identify different applications. It acts as a communication endpoint between
applications.
• The port number is associated with the IP address for communication between two applications.

4) MAC Address

• MAC (Media Access Control) address is a unique identifier of NIC (Network Interface Controller). A network node can
have multiple NIC but each with unique MAC address.
• For example, an ethernet card may have a MAC address of 00:0d:83::b1:c0:8e.
5) Connection-oriented and connection-less protocol

• In connection-oriented protocol:
• acknowledgement is sent by the receiver. So it is reliable but slow.
• Example : TCP.

• In connection-less protocol,
• acknowledgement is not sent by the receiver. So it is not reliable but fast.
• Example: UDP.

6) Socket
• A socket is an endpoint between two way communications.
java.net package
The java.net package is divided into two sections:
1. A Low-Level API:
• It deals with the abstractions of addresses i.e. networking identifiers, Sockets i.e. bidirectional data communication mechanism and
Interfaces i.e. network interfaces.

2. A High Level API:


• It deals with the abstraction of URIs i.e. Universal Resource Identifier, URLs i.e. Universal Resource Locator, and Connections i.e.
connections to the resource pointed by URLs.

Following is the list of classes provided by java.net package to deal with networking applications in Java

• Authenticator • InetAddress • ServerSocket


• CacheRequest • Inet4Address • Socket
• CacheResponse • Inet6Address • SocketAddress
• ContentHandler • IDN • SocketImpl
• CookieHandler • HttpURLConnection • SocketPermission
• CookieManager • HttpCookie • StandardSocketOptions
• DatagramPacket • NetPermission • URI
• DatagramSocket • NetworkInterface • URL
• DatagramSocketImpl • PasswordAuthentication • URLClassLoader
• InterfaceAddress • Proxy • URLConnection
• JarURLConnection • ProxySelector • URLDecoder
• MulticastSocket • ResponseCache • URLEncoder
• InetSocketAddress • SecureCacheResponse • URLStreamHandler
List of interfaces available in java.net package:

• ContentHandlerFactory
• CookiePolicy
• CookieStore
• DatagramSocketImplFactory
• FileNameMap
• SocketOption<T>
• SocketOptions
• SocketImplFactory
• URLStreamHandlerFactory
• ProtocolFamily

You might also like