SlideShare a Scribd company logo
2
Most read
6
Most read
13
Most read
Web Services and Middleware; Network programming;
Low level data communications
Message and queuing services;
08/12/2015 1Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia
Integrative Programming andTechnology
 application integration technology
 Allows applications to be integrated more rapidly, easily and less
expensively
 program-to- program interactions whereas web for program-to-user
interactions
 allow companies to reduce the cost of doing e-business, to deploy
solutions faster and to open up new opportunities
 Web services model built on emerging standards such as
 HTTP
 XML
 Simple Object Access Protocol (SOAP)
 Web Services Description Language (WSDL)
 Universal Description, Discovery and Integration (UDDI)
08/12/2015 2Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia
 developed in order to distribute an object and serve it to various users
in the web environments
 used in the server situations while solving the web-scalability problem
of the other distributed object technologies
 WSDL, and SOAP exploit XML.
 WSDL is an XML describing the web service.
 SOAP is an XML describing the called method, its parameters, and its
return value, can be delivered over the HTTP
08/12/2015 3Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia
08/12/2015 4Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia
1. A client that wants to be serviced should first find the supported services
from the pre-existing registry before compiling a code.
2. After finding its services through searching, the client gains the Web
Service Description Language (WSDL) that a server previously registers.
From theWSDL, the client knows the service provider location and the
parameters to the found method.
3. After the client binds the described service during the compile time, it
calls the local agent whenever the client invokes a method call, and
the local agent delivers it to the server side agent through Simple Object
Access Protocol (SOAP) over HTTP, FTP, SMTP, andTCP during the
runtime.
4. The server side agent activates the appropriate object, and delivers
the calls to the object.
08/12/2015 5Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia
Network:
 A network is a collection of computers and other devices that can send data to and receive data
from each other.
 A network is often connected by wires.
 However, wireless networks transmit data through infrared light and microwaves.
Node:
 Each machine on a network is called a node.
 Most nodes are computers, but printers, routers, bridges, gateways etc.. can also be nodes.
 Nodes that are fully functional computers are also called hosts.
Packet:
 All modern computer networks are packet-switched networks: data traveling on the network is
broken into chunks called packets and each packet is handled separately.
 Each packet contains information about who sent it and where it's going.
Protocol: A protocol is a precise set of rules defining how computers communicate: the format of
addresses, how data is split into packets
08/12/2015 6Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia
IP:
 IP was designed to allow multiple routes between any two points and
to route packets of data around damaged routers.
TCP:
 Since there are multiple routes between two points, and the packets
that make up a particular data stream.
 Furthermore, they may not arrive in the order they were sent, if they
even arrive at all.
UDP:
 UDP is an unreliable protocol that does not guarantee that packets will
arrive at their destination or that they will arrive in the same order
they were sent.
Ports:
 Each computer with an IP address has several thousand logical ports.
 Each port is identified by a number between 1 and 65,535. Each port can
be allocated to a particular service.
 Port numbers 1 through 255 are reserved by IP for well-known services
If you connect to port 80 of a host, for instance, you may expect to find
an HTTP server.
08/12/2015 7Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia
Internet:
 largest IP-based network for connecting machines together.
 Java: easy-to-use, cross-platform model for network communications.
What is a Socket?
 Sockets are a means of using IP to communicate between machines, so sockets
allow Java to interoperate with legacy systems by simply talking to existing
servers using their pre-defined protocol.
 Internet protocol: User Datagram Protocol (UDP) andTransmissionControl
Protocol (TCP).
Internet Addresses or IP Addresses
 Every network node has an address, a series of bytes that uniquely identify it.
 Internet addresses are manipulated in Java by the use of the InetAddress class.
InetAddress takes care of the Domain Name System (DNS) look-up and reverse
look-up;
 IP addresses can be specified by either the host name or the raw IP address.
InetAddress provides methods to getByName(), getAllByName(),
getLocalHost(), getAddress(), etc.
 IP addresses are a 32-bit number, often represented as a "quad" of four 8-bit
numbers separated by periods.
 They are organized into classes (A, B, C, D, and E). For example 126.255.255.255
Client/Server Computing- Java language communicate with remote file system
08/12/2015 8Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia
How UDPclients and UDPservers communicate over sockets
Creating UDP Servers:
To create a server with UDP, do the following:
1. Create a DatagramSocket attached to a port.
int port = 1234;
DatagramSocket socket = new DatagramSocket(port);
2. Allocate space to hold the incoming packet, and create an instance of DatagramPacket to hold the
incoming data.
byte[] buffer = new byte[1024];
DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
3. Block until a packet is received, then extract the information you need from the packet.
// Block on receive()
socket.receive(packet);
// Extract the packet data
byte[] data = packet.getData();
// Find out where packet came from
// so we can reply to the same host/port
InetAddress remoteHost = packet.getAddress();
int remotePort = packet.getPort();
08/12/2015 9Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia
Creating UDP Clients
1. First allocate space to hold the data we are sending and create an instance
of DatagramPacket to hold the data.
byte[] buffer = new byte[1024];
int port = 1234;
InetAddress host = InetAddress.getByName("magelang.com");
DatagramPacket packet = new DatagramPacket(buffer,
buffer.length, host, port);
2. Create a DatagramSocket and send the packet using this socket.
DatagramSocket socket = new DatagramSocket();//free local port to
use
socket.send(packet);
// Find out where we are sending from
InetAddress localHostname = socket.getLocalAddress();
int localPort = socket.getLocalPort();
08/12/2015 10Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia
HowTCPclients andTCPservers communicate over sockets
CreatingTCP Servers:
To create aTCP server, do the following:
1. Create a ServerSocket attached to a port number.
ServerSocket server = new ServerSocket(port);
2.Wait for connections from clients requesting connections to that port.
// Block on accept()
Socket channel = server.accept();
You'll get a Socket object as a result of the connection.
3. Get input and output streams associated with the socket.
out = new PrintWriter (channel.getOutputStream());
out.println("Hey! I heard you over this socket!");
reader = new InputStreamReader (channel.getInputStream());
in = new BufferedReader (reader);
Now you can read and write to the socket, thus, communicating with the client.
String data = in.readLine();
08/12/2015 11Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia
CreatingTCP Clients:
To create aTCP client, do the following:
1. Create a Socket object attached to a remote host, port.
Socket client = new Socket(host, port);
When the constructor returns, you have a connection.
2. Get input and output streams associated with the socket.
out = new PrintWriter (client.getOutputStream());
out.println("Watson!" + "Come here...I need you!");
reader = new InputStreamReader (client.getInputStream());
in = new BufferedReader (reader);
Now you can read and write to the socket, thus, communicating with the
server.
String data = in.readLine();
08/12/2015 12Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia
TCP/IP(Transmission Control Protocol/Internet Protocol)
 The Protocol upon which the whole Internet is based
 Each node must be configured forTCP/IP to function properly.
 A software-based protocol
 TCP/IP is basically the binding together of Internet Protocols used to
connect hosts on the internet- Main ones are IP andTCP
 TCP and IP have special packet structure
 IP (Internet Protocol) is responsible for delivering packets of data
between systems on the internet and specifies their format. Packets
forwarded based on a four byte destination IP address (IP number)
IP DOES NOT MAKE GUARANTEES! It is very simple - essentially: send
and forget.
 TCP (TransmissionControl Protocol) is responsible for verifying the
correct delivery of data/packets from client to server. Data can be lost
.SoTCP also adds support to detect errors and retransmit data until
completely received
08/12/2015 13Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia
08/12/2015 14Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia
 Version — Indicates the version of IP currently used.
 IP Header Length (IHL) — Indicates the datagram header length in 32-bit words.
 Type-of-Service — Specifies how an upper-layer protocol would like a current datagram to
be handled, and assigns datagram various levels of importance.
 Total Length — Specifies the length, in bytes, of the entire IP packet, including the data
and header.
 Identification — Contains an integer that identifies the current datagram. This field is used
to help piece together datagram fragments.
 Flags — Consists of a 3-bit field of which the two low-order (least-significant) bits control
fragmentation. The low-order bit specifies whether the packet can be fragmented. The
middle bit specifies whether the packet is the last fragment in a series of fragmented
packets.The third or high-order bit is not used.
 Fragment Offset — Indicates the position of the fragment’s data relative to the beginning
of the data in the original datagram, which allows the destination IP process to properly
reconstruct the original datagram.
 Time-to-Live — Maintains a counter that gradually decrements down to zero, at which
point the datagram is discarded.
 Protocol — Indicates which upper-layer protocol receives incoming packets after IP
processing is complete.
 Header Checksum — Helps ensure IP header integrity.
 Source Address — Specifies the sending node.
 Destination Address — Specifies the receiving node.
 Options — Allows IP to support various options, such as security.
 Data — Contains upper-layer sent in packet.
08/12/2015 15Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia
08/12/2015 16Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia
 There are 12 fields inTCP Packet:
 Source Port and Destination Port — Identifies points at which upper-
layer source and destination processes receiveTCP services.
 Sequence Number In the connection-establishment phase, this field also
can be used to identify an initial sequence number to be used in an
upcoming transmission.
 Acknowledgment Number — Contains the sequence number of the next
byte of data the sender of the packet expects to receive.
 Data Offset — Indicates the number of 32-bit words in theTCP header.
 Reserved — Remains reserved for future use.
 Flags — Carries a variety of control information, including the SYN and
ACK bits used for connection establishment, and the FIN bit used for
connection termination.
 Window — Specifies the size of the sender’s receive window (that is, the
buffer space available for incoming data).
 Checksum — Indicates whether the header was damaged in transit.
 Urgent Pointer — Points to the first urgent data byte in the packet.
 Options — Specifies variousTCP options.
 Data — Contains upper-layer sent in packet.
08/12/2015 17Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia

More Related Content

PPTX
444963864-INTEGRATIVE-PROGRAMMING-lesson1-pptx.pptx
PPTX
INTEGRATIVE PROGRAMMING ch1.pptx
PPT
Lecture 1_System Integration & Architecture
PPTX
Integrative Programming Technology Chapter 5 - Dr. J. VijiPriya
PPTX
IPT Chapter 3 Data Mapping and Exchange - Dr. J. VijiPriya
PPT
introduction to Web system
PDF
1.-Introduction-report.pdf
PDF
Programming Languages Categories / Programming Paradigm By: Prof. Lili Saghafi
444963864-INTEGRATIVE-PROGRAMMING-lesson1-pptx.pptx
INTEGRATIVE PROGRAMMING ch1.pptx
Lecture 1_System Integration & Architecture
Integrative Programming Technology Chapter 5 - Dr. J. VijiPriya
IPT Chapter 3 Data Mapping and Exchange - Dr. J. VijiPriya
introduction to Web system
1.-Introduction-report.pdf
Programming Languages Categories / Programming Paradigm By: Prof. Lili Saghafi

What's hot (20)

PPTX
Integrative Programming and Technology Chapter 4- Dr. J. VijiPriya
PPT
Relational algebra in dbms
DOCX
Big data lecture notes
PPTX
Relational Data Model Introduction
PPT
Introduction to visual basic programming
PPTX
System and network administration network services
PPT
PHP - Introduction to File Handling with PHP
PPSX
Parallel Database
PPTX
Data Modeling PPT
PPTX
Client Server Architecture ppt
PPT
Transaction management and concurrency control
PPT
Fundamentals of Database system
PPT
Vb introduction.
PDF
Advance database systems (part 1)
PPT
Database, Lecture-1.ppt
PDF
DDBMS Paper with Solution
PPT
RichControl in Asp.net
PPT
data modeling and models
PPT
Dimensional Modeling
Integrative Programming and Technology Chapter 4- Dr. J. VijiPriya
Relational algebra in dbms
Big data lecture notes
Relational Data Model Introduction
Introduction to visual basic programming
System and network administration network services
PHP - Introduction to File Handling with PHP
Parallel Database
Data Modeling PPT
Client Server Architecture ppt
Transaction management and concurrency control
Fundamentals of Database system
Vb introduction.
Advance database systems (part 1)
Database, Lecture-1.ppt
DDBMS Paper with Solution
RichControl in Asp.net
data modeling and models
Dimensional Modeling
Ad

Similar to IPT Chapter 2 Web Services and Middleware - Dr. J. VijiPriya (20)

PDF
28 networking
PPT
Md13 networking
PDF
Networking Basics1ofjavaprogramming.pptx.pdf
PPTX
5_6278455688045789623.pptx
PPTX
Java socket programming
PPTX
Networking in Java
PPT
chapter-4-networking hjgjjgj did hfhhfhj
PDF
Networking
PPT
Networking Java Socket Programming
PDF
Ajp notes-chapter-04
PPTX
Chapter 4--converted.pptx
PPTX
Java seminar.pptx
PPTX
Networking.pptx
PPTX
Networking in Java
PPTX
Advance Java-Network Programming
PDF
Unit-4 networking basics in java
PPT
Network programming in Java
PDF
Chap 1 Network Theory & Java Overview
PPTX
PPT
Network Programming in Java
28 networking
Md13 networking
Networking Basics1ofjavaprogramming.pptx.pdf
5_6278455688045789623.pptx
Java socket programming
Networking in Java
chapter-4-networking hjgjjgj did hfhhfhj
Networking
Networking Java Socket Programming
Ajp notes-chapter-04
Chapter 4--converted.pptx
Java seminar.pptx
Networking.pptx
Networking in Java
Advance Java-Network Programming
Unit-4 networking basics in java
Network programming in Java
Chap 1 Network Theory & Java Overview
Network Programming in Java
Ad

More from VijiPriya Jeyamani (10)

PPT
Dr. J. VijiPriya - Information and Communication Technology Chapter 8 The Int...
PPT
Dr. J. VijiPriya - Information Communication and Technology Chapter 7 Data Co...
PPT
Dr. J. VijiPriya Information and Communication Technology Chapter 5,6
PPT
Human Computer Interaction Chapter 2 Interaction and Interaction Design Basi...
PPTX
Human Computer Interaction Chapter 3 HCI in the Software Process and Design ...
PPTX
Human Computer Interaction Chapter 4 Implementation Support and Evaluation Te...
PPT
Human Computer Interaction Chapter 5 Universal Design and User Support - Dr....
PDF
Expert System Lecture Notes Chapter 1,2,3,4,5 - Dr.J.VijiPriya
PDF
CLISP Lab Manual - Dr.J.VijiPriya
PPT
Information and Communication Technology Chapter 1,2 ,3 - Dr.J.VijiPriya
Dr. J. VijiPriya - Information and Communication Technology Chapter 8 The Int...
Dr. J. VijiPriya - Information Communication and Technology Chapter 7 Data Co...
Dr. J. VijiPriya Information and Communication Technology Chapter 5,6
Human Computer Interaction Chapter 2 Interaction and Interaction Design Basi...
Human Computer Interaction Chapter 3 HCI in the Software Process and Design ...
Human Computer Interaction Chapter 4 Implementation Support and Evaluation Te...
Human Computer Interaction Chapter 5 Universal Design and User Support - Dr....
Expert System Lecture Notes Chapter 1,2,3,4,5 - Dr.J.VijiPriya
CLISP Lab Manual - Dr.J.VijiPriya
Information and Communication Technology Chapter 1,2 ,3 - Dr.J.VijiPriya

Recently uploaded (20)

PDF
Level 2 – IBM Data and AI Fundamentals (1)_v1.1.PDF
PDF
EXPLORING LEARNING ENGAGEMENT FACTORS INFLUENCING BEHAVIORAL, COGNITIVE, AND ...
PPTX
Artificial Intelligence
PDF
SMART SIGNAL TIMING FOR URBAN INTERSECTIONS USING REAL-TIME VEHICLE DETECTI...
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PPTX
introduction to high performance computing
PDF
III.4.1.2_The_Space_Environment.p pdffdf
PDF
null (2) bgfbg bfgb bfgb fbfg bfbgf b.pdf
PDF
Integrating Fractal Dimension and Time Series Analysis for Optimized Hyperspe...
PPTX
Fundamentals of Mechanical Engineering.pptx
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PPT
Occupational Health and Safety Management System
PPTX
UNIT 4 Total Quality Management .pptx
PDF
A SYSTEMATIC REVIEW OF APPLICATIONS IN FRAUD DETECTION
PPTX
Nature of X-rays, X- Ray Equipment, Fluoroscopy
PDF
COURSE DESCRIPTOR OF SURVEYING R24 SYLLABUS
PDF
PREDICTION OF DIABETES FROM ELECTRONIC HEALTH RECORDS
PDF
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
PPTX
6ME3A-Unit-II-Sensors and Actuators_Handouts.pptx
PPT
Total quality management ppt for engineering students
Level 2 – IBM Data and AI Fundamentals (1)_v1.1.PDF
EXPLORING LEARNING ENGAGEMENT FACTORS INFLUENCING BEHAVIORAL, COGNITIVE, AND ...
Artificial Intelligence
SMART SIGNAL TIMING FOR URBAN INTERSECTIONS USING REAL-TIME VEHICLE DETECTI...
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
introduction to high performance computing
III.4.1.2_The_Space_Environment.p pdffdf
null (2) bgfbg bfgb bfgb fbfg bfbgf b.pdf
Integrating Fractal Dimension and Time Series Analysis for Optimized Hyperspe...
Fundamentals of Mechanical Engineering.pptx
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
Occupational Health and Safety Management System
UNIT 4 Total Quality Management .pptx
A SYSTEMATIC REVIEW OF APPLICATIONS IN FRAUD DETECTION
Nature of X-rays, X- Ray Equipment, Fluoroscopy
COURSE DESCRIPTOR OF SURVEYING R24 SYLLABUS
PREDICTION OF DIABETES FROM ELECTRONIC HEALTH RECORDS
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
6ME3A-Unit-II-Sensors and Actuators_Handouts.pptx
Total quality management ppt for engineering students

IPT Chapter 2 Web Services and Middleware - Dr. J. VijiPriya

  • 1. Web Services and Middleware; Network programming; Low level data communications Message and queuing services; 08/12/2015 1Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia Integrative Programming andTechnology
  • 2.  application integration technology  Allows applications to be integrated more rapidly, easily and less expensively  program-to- program interactions whereas web for program-to-user interactions  allow companies to reduce the cost of doing e-business, to deploy solutions faster and to open up new opportunities  Web services model built on emerging standards such as  HTTP  XML  Simple Object Access Protocol (SOAP)  Web Services Description Language (WSDL)  Universal Description, Discovery and Integration (UDDI) 08/12/2015 2Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia
  • 3.  developed in order to distribute an object and serve it to various users in the web environments  used in the server situations while solving the web-scalability problem of the other distributed object technologies  WSDL, and SOAP exploit XML.  WSDL is an XML describing the web service.  SOAP is an XML describing the called method, its parameters, and its return value, can be delivered over the HTTP 08/12/2015 3Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia
  • 4. 08/12/2015 4Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia
  • 5. 1. A client that wants to be serviced should first find the supported services from the pre-existing registry before compiling a code. 2. After finding its services through searching, the client gains the Web Service Description Language (WSDL) that a server previously registers. From theWSDL, the client knows the service provider location and the parameters to the found method. 3. After the client binds the described service during the compile time, it calls the local agent whenever the client invokes a method call, and the local agent delivers it to the server side agent through Simple Object Access Protocol (SOAP) over HTTP, FTP, SMTP, andTCP during the runtime. 4. The server side agent activates the appropriate object, and delivers the calls to the object. 08/12/2015 5Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia
  • 6. Network:  A network is a collection of computers and other devices that can send data to and receive data from each other.  A network is often connected by wires.  However, wireless networks transmit data through infrared light and microwaves. Node:  Each machine on a network is called a node.  Most nodes are computers, but printers, routers, bridges, gateways etc.. can also be nodes.  Nodes that are fully functional computers are also called hosts. Packet:  All modern computer networks are packet-switched networks: data traveling on the network is broken into chunks called packets and each packet is handled separately.  Each packet contains information about who sent it and where it's going. Protocol: A protocol is a precise set of rules defining how computers communicate: the format of addresses, how data is split into packets 08/12/2015 6Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia
  • 7. IP:  IP was designed to allow multiple routes between any two points and to route packets of data around damaged routers. TCP:  Since there are multiple routes between two points, and the packets that make up a particular data stream.  Furthermore, they may not arrive in the order they were sent, if they even arrive at all. UDP:  UDP is an unreliable protocol that does not guarantee that packets will arrive at their destination or that they will arrive in the same order they were sent. Ports:  Each computer with an IP address has several thousand logical ports.  Each port is identified by a number between 1 and 65,535. Each port can be allocated to a particular service.  Port numbers 1 through 255 are reserved by IP for well-known services If you connect to port 80 of a host, for instance, you may expect to find an HTTP server. 08/12/2015 7Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia
  • 8. Internet:  largest IP-based network for connecting machines together.  Java: easy-to-use, cross-platform model for network communications. What is a Socket?  Sockets are a means of using IP to communicate between machines, so sockets allow Java to interoperate with legacy systems by simply talking to existing servers using their pre-defined protocol.  Internet protocol: User Datagram Protocol (UDP) andTransmissionControl Protocol (TCP). Internet Addresses or IP Addresses  Every network node has an address, a series of bytes that uniquely identify it.  Internet addresses are manipulated in Java by the use of the InetAddress class. InetAddress takes care of the Domain Name System (DNS) look-up and reverse look-up;  IP addresses can be specified by either the host name or the raw IP address. InetAddress provides methods to getByName(), getAllByName(), getLocalHost(), getAddress(), etc.  IP addresses are a 32-bit number, often represented as a "quad" of four 8-bit numbers separated by periods.  They are organized into classes (A, B, C, D, and E). For example 126.255.255.255 Client/Server Computing- Java language communicate with remote file system 08/12/2015 8Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia
  • 9. How UDPclients and UDPservers communicate over sockets Creating UDP Servers: To create a server with UDP, do the following: 1. Create a DatagramSocket attached to a port. int port = 1234; DatagramSocket socket = new DatagramSocket(port); 2. Allocate space to hold the incoming packet, and create an instance of DatagramPacket to hold the incoming data. byte[] buffer = new byte[1024]; DatagramPacket packet = new DatagramPacket(buffer, buffer.length); 3. Block until a packet is received, then extract the information you need from the packet. // Block on receive() socket.receive(packet); // Extract the packet data byte[] data = packet.getData(); // Find out where packet came from // so we can reply to the same host/port InetAddress remoteHost = packet.getAddress(); int remotePort = packet.getPort(); 08/12/2015 9Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia
  • 10. Creating UDP Clients 1. First allocate space to hold the data we are sending and create an instance of DatagramPacket to hold the data. byte[] buffer = new byte[1024]; int port = 1234; InetAddress host = InetAddress.getByName("magelang.com"); DatagramPacket packet = new DatagramPacket(buffer, buffer.length, host, port); 2. Create a DatagramSocket and send the packet using this socket. DatagramSocket socket = new DatagramSocket();//free local port to use socket.send(packet); // Find out where we are sending from InetAddress localHostname = socket.getLocalAddress(); int localPort = socket.getLocalPort(); 08/12/2015 10Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia
  • 11. HowTCPclients andTCPservers communicate over sockets CreatingTCP Servers: To create aTCP server, do the following: 1. Create a ServerSocket attached to a port number. ServerSocket server = new ServerSocket(port); 2.Wait for connections from clients requesting connections to that port. // Block on accept() Socket channel = server.accept(); You'll get a Socket object as a result of the connection. 3. Get input and output streams associated with the socket. out = new PrintWriter (channel.getOutputStream()); out.println("Hey! I heard you over this socket!"); reader = new InputStreamReader (channel.getInputStream()); in = new BufferedReader (reader); Now you can read and write to the socket, thus, communicating with the client. String data = in.readLine(); 08/12/2015 11Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia
  • 12. CreatingTCP Clients: To create aTCP client, do the following: 1. Create a Socket object attached to a remote host, port. Socket client = new Socket(host, port); When the constructor returns, you have a connection. 2. Get input and output streams associated with the socket. out = new PrintWriter (client.getOutputStream()); out.println("Watson!" + "Come here...I need you!"); reader = new InputStreamReader (client.getInputStream()); in = new BufferedReader (reader); Now you can read and write to the socket, thus, communicating with the server. String data = in.readLine(); 08/12/2015 12Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia
  • 13. TCP/IP(Transmission Control Protocol/Internet Protocol)  The Protocol upon which the whole Internet is based  Each node must be configured forTCP/IP to function properly.  A software-based protocol  TCP/IP is basically the binding together of Internet Protocols used to connect hosts on the internet- Main ones are IP andTCP  TCP and IP have special packet structure  IP (Internet Protocol) is responsible for delivering packets of data between systems on the internet and specifies their format. Packets forwarded based on a four byte destination IP address (IP number) IP DOES NOT MAKE GUARANTEES! It is very simple - essentially: send and forget.  TCP (TransmissionControl Protocol) is responsible for verifying the correct delivery of data/packets from client to server. Data can be lost .SoTCP also adds support to detect errors and retransmit data until completely received 08/12/2015 13Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia
  • 14. 08/12/2015 14Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia
  • 15.  Version — Indicates the version of IP currently used.  IP Header Length (IHL) — Indicates the datagram header length in 32-bit words.  Type-of-Service — Specifies how an upper-layer protocol would like a current datagram to be handled, and assigns datagram various levels of importance.  Total Length — Specifies the length, in bytes, of the entire IP packet, including the data and header.  Identification — Contains an integer that identifies the current datagram. This field is used to help piece together datagram fragments.  Flags — Consists of a 3-bit field of which the two low-order (least-significant) bits control fragmentation. The low-order bit specifies whether the packet can be fragmented. The middle bit specifies whether the packet is the last fragment in a series of fragmented packets.The third or high-order bit is not used.  Fragment Offset — Indicates the position of the fragment’s data relative to the beginning of the data in the original datagram, which allows the destination IP process to properly reconstruct the original datagram.  Time-to-Live — Maintains a counter that gradually decrements down to zero, at which point the datagram is discarded.  Protocol — Indicates which upper-layer protocol receives incoming packets after IP processing is complete.  Header Checksum — Helps ensure IP header integrity.  Source Address — Specifies the sending node.  Destination Address — Specifies the receiving node.  Options — Allows IP to support various options, such as security.  Data — Contains upper-layer sent in packet. 08/12/2015 15Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia
  • 16. 08/12/2015 16Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia
  • 17.  There are 12 fields inTCP Packet:  Source Port and Destination Port — Identifies points at which upper- layer source and destination processes receiveTCP services.  Sequence Number In the connection-establishment phase, this field also can be used to identify an initial sequence number to be used in an upcoming transmission.  Acknowledgment Number — Contains the sequence number of the next byte of data the sender of the packet expects to receive.  Data Offset — Indicates the number of 32-bit words in theTCP header.  Reserved — Remains reserved for future use.  Flags — Carries a variety of control information, including the SYN and ACK bits used for connection establishment, and the FIN bit used for connection termination.  Window — Specifies the size of the sender’s receive window (that is, the buffer space available for incoming data).  Checksum — Indicates whether the header was damaged in transit.  Urgent Pointer — Points to the first urgent data byte in the packet.  Options — Specifies variousTCP options.  Data — Contains upper-layer sent in packet. 08/12/2015 17Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia