protocols September 15,
|
|
- Hope Johns
- 6 years ago
- Views:
Transcription
1 Contents SCI Protocols, WWW Internet applications WWW, document technology Lennart Herlaar Original slides by Piet van Oostrum September 15, 2003 SCI X SCI X Internet applications How to make an Internet Application? Invent your own protocol Write your own server Write client programs for as many platforms as you can Try to get client and server software at the right places Examples: FTP, chat, MUD (multi-user dungeons) Simpler Solution Use the existing WWW infrastructure: Use HTTP protocol GUI (browser) as client is already present If necessary add extra software to browsers Expand the servers with specialized modules if necessary (Much) more on this later... The big problem is to get the proper software on the proper places. People have to download your client software and install it on their local (home) computers) Your server software must be installed e.g. at Internet Service Provider computers SCI X SCI X Internet communication TCP/UDP Internet connections are usually made with TCP (Transport Control Protocol) UDP (User Datagram Protocol) Each end of a connection has an Internet address (IP address) and a port number IP address is a 32-bit number (in the future 128-bit) IP address is the address of the computer (better: a network interface in the computer) Port numbers are used for a specific service or process in the computer Some port numbers are fixed (25=SMTP, 80=HTTP, 119=NNTP) TCP is connection oriented (like a telephone call) Set up a connection Send and receive messages Close the connection Messages are received in the same order as they are sent UDP is connectionless (like a letter or telegram) Every message is sent independently You are never sure that a message will arrive Messages may arrive in a different order than they are sent SCI X SCI X protocols September 15,
2 Sockets 1 Socket = mechanism that the Operating System offers to programs to make Internet connections A process that wants to accept connections from other processes listens to a specific port These are often servers E.g. an HTTP server listens on port 80 A process that wants to create a connection to another process creates a socket and connects the socket to the desired (IPaddress, port) combination This is often a client (e.g. Web browser) Sockets 2 The server notices an incoming connection and accepts it (or could choose not to accept it) After accepting there is also a socket in the server This is a new socket for each accepted connection The socket has a new port number The client side also gets a port number from the operating system Most of the time this is not interesting The client and server can communicate over the socket in both directions SCI X SCI X Connection Server waits for connection Server has accepted the connection Client-server structure With a client-server configuration the communication often has the following structure Server listens on a specific port Client opens a connection to the server (that port) Client sends a request Server sends a response This will continue a number of times SCI X SCI X Example: Netscape / Internet Explorer Example: SMTP O.S. netscape netwerk softw GET ~piet/index.html inhoud van index.html Internet O.S. netwerk softw netwerk http server 220 mail.cs.uu.nl ESMTP Postfix HELO nono.cs.uu.nl 250-mail.cs.uu.nl MAIL FROM: <lennart@cs.uu.nl> 250 Ok RCPT TO: <lherlaar@inter.nl.net> 250 Ok DATA 354 End data with <CR><LF>.<CR><LF> This is a test.. Lines starting with. escaped Hello. 250 Ok: queued as A B QUIT 221 Bye SCI X SCI X protocols September 15,
3 Internet protocol conventions Many (but not all) Internet application protocols use the following conventions Request and reply are in ASCII as much as possible Lines are separated by CR,LF (ASCII 10,13, hex 0A, 0D) Reply is often a code (number) with some explaining text The number is meant to be used by programs, the text by humans A program needs only the number to take the correct action Reply codes 1xx = informative 2xx = operation succeeded 3xx = operation needs continuation 4xx = error 5xx = error Error codes SMTP HTTP 4xx = temporary error, may go away 5xx = permanent error, do not repeat exactly the same request 4xx = client has made an error (404 not found) 5xx = server has made an unexpected error, e.g. server is too busy SCI X SCI X Peer-to-peer communication Peer-to-peer = between equal partners Client-Client: ex: Kazaa Every client functions also as a server for his peers Server-server: ex: FTP An FTP client can give a command to transfer a file from one FTP server to another FTP server The one FTP server will then do a request to the other server N.B. Sometimes a server is a client for another server: a HTTP server can be a client for a database server Sockets in Java Java has a number of classes for sockets (package java.net) Socket for normal (TCP) sockets DatagramSocket for datagrams (UDP) ServerSocket for the server-side (listening) SCI X SCI X Sockets in Java Client side import java.net.*; mysocket = new Socket(" 80); hostname, portnr "localhost" for the local machine or an InetAddress object A socket has an InputStream and an OutputStream. getinputstream() gives the InputStream getoutputstream() gives the OutputStream InputStream can be used to read bytes OutputStream can be used to write bytes Different streams Reading and writing bytes is often not the best or easiest way to communicate We want to communicate characters, not bytes In some cases you must use it, e.g. when you have to read/write a GIF file In Java we can used more advanced Streams to use higher level communication DataInputStream, DataOutputStream if you want to read/write binary data (ints, doubles, etc.) ObjectInputStream, ObjectOutputStream if you want to communicate with serialized objects. This is only useful if the other side is also written in Java BufferedReader, PrintWriter if you want to communicate with text (like most Internet protocols) SCI X SCI X protocols September 15,
4 Object Streams Output OutputStream ostream = mysocket.getoutputstream(); ObjectOutputStream os = new ObjectOutputStream(ostream); os.writeint(12345); os.writeobject("today"); os.writeobject(new Date()); os.flush(); ostream.close(); You must flush when the other side must do something, otherwise the data may be buffered in the sender Input Object Streams InputStream istream = mysocket.getinputstream(); ObjectInputStream os = new ObjectInputStream(istream); int i = os.readint(); String today = (String)os.readObject(); Date date = (Date)os.readObject(); istream.close(); Of course you can also use objects from your own classes SCI X SCI X Text If we want to communicate with text then PrintWriter and BufferedReader should be used PrintWriter out = new PrintWriter(mySocket.getOutputStream(), true); out.println("get /directory/file.html"); BufferedReader in = new BufferedReader(new InputStreamReader( mysocket.getinputstream())); instr = in.readline(); The second parameter of PrintWriter tells to flush when println is used Server side ServerSocket serversocket; serversocket = new ServerSocket(portnr); catch (IOException e) {... Socket clientsocket = null; clientsocket = serversocket.accept(); catch (IOException e) {... // Processing code here... clientsocket.close(); SCI X SCI X Multi-client server After the accept we usually want to Communicate with the client Wait for new requests If the communication with the client is simple we can just have a loop with accept and process Otherwise we must start a new Thread for the communication with the client Example 1 Socket clientsocket = null; while (notfinished) { clientsocket = serversocket.accept(); catch (IOException e) {... new ProcessingThread(clientSocket).start(); serversocket.close(); The processing Threads will run parallel with the accept loop and with each other SCI X SCI X protocols September 15,
5 Example 2 public class ProcessingThread extends Thread { private Socket socket = null; public ProcessingThread(Socket socket) { this.socket = socket; public void run() { PrintWriter out = new PrintWriter(socket.getOutputStream(), true); BufferedReader in = new BufferedReader( new InputStreamReader( socket.getinputstream()));... // Do the work... out.close(); in.close(); socket.close(); catch (IOException e) {... SCI X A simple SMTP client Here is a Java program that sends an message Suppose we have a user interface with fields for Sender (From:) Adressee(s) (To:/Cc:/Bcc:) Subject The message Communicate through a socket with the SMTP server Put the headers and the message body together Use the commands: HELO, MAIL FROM:, RCPT TO:, DATA, QUIT Check return codes (only first digit) On error: display the message and stop communicating The name of the client computer can be found with sock.getlocaladdress().gethostname() SCI X Importants points of the protocol Check the greeting of the server After each command sent to the server check the response After the message (. ) check the response After an error (code 4 or 5 ) stop the protocol and display the message In the message add headers for From, To, Cc, Subject like Subject: Hello from Internet Programming The headers must be followed by an empty line In the message text any line that starts with. must get an extra. at the beginning How to do checking Use of if statements for checking read greeting if (code OK) send HELO if (code OK) send MAIL FROM: if (code OK)... etc... SCI X SCI X Or with return Use of return statements for checking With exceptions 1 Use of exceptions for checking void sendmessage(...) read greeting if (not code OK) return send HELO if (not code OK) return send MAIL FROM: if (not code OK) return... etc... read and check greeting send HELO read and check response send MAIL FROM: read and check response... etc... catch (ProtocolException...) {... SCI X SCI X protocols September 15,
6 With exceptions 2 In method read and check response if (not code OK) throw new ProtocolException(...) You have to define your ProtocolException class ProtocolException extends Exception {... constructor... Java code: exception public class SMTPProtocolException extends Exception { public SMTPProtocolException(String mm) { super(mm); public void checkerror(string reply) throws SMTPProtocolException { char cc=reply.charat(0); if ((cc== 4 ) (cc== 5 )) throw new SMTPProtocolException("ERROR: "+reply); SCI X SCI X Java code: methods BufferedReader in; Printwriter out; public void checkresponse() throws IOException, SMTPProtocolException { String reply; reply = in.readline(); checkerror(reply); public void sendcheck(string mesg) throws IOException, SMTPProtocolException { String reply; out.println(mesg; reply = in.readline(); checkerror(reply); Java code: methods public void send(string mesg) throws IOException { out.println(mesg; public void connect(string server) { mysocket= new Socket(server,25); in = new BufferedReader(new InputStreamReader( mysocket.getinputstream())); checkresponse(); out= new PrintWriter(mySocket.getOutputStream(), true); catch (IOException e) { System.out.println("Error while creating socket"); SCI X SCI X Java code: sending String reply; connect(); String local = mysocket.getlocaladdress().gethostname(); sendcheck("helo "+local); sendcheck("mail FROM: "+sender); sendcheck("rcpt TO "+address); if (! CC.equals("")) sendcheck("rcpt TO "+CC)... etc... catch (IOException e) { System.out.println("Error while sending HELO"); Message void sendmessage(string sender, String address, String CC, String subject, String message) throws... { sendcheck("data"); send("from: "+sender); send("to: "+address); if (! CC.equals("")) send("to: "+CC); send("subject: "+subject); send(""); sendbody(message); sendcheck("."); SCI X SCI X protocols September 15,
7 Message body void sendbody(string msg) throws...{ StringTokenizer st = new StringTokenizer(msg, "\n"); while (st.hasmoretokens()) { String line = st.nexttoken(); if (line.charat(0) ==. ) line = "."+line; send(line); The WWW WWW = World Wide Web = A collection of hypertext documents hypertext = text augmented with links to other documents WWW is more than text pictures movies sound/music database retrieval SCI X SCI X The paper myth 1 Information is important (knowledge is power!) There is an information overload We drown in paper Many reports are only browsed, not properly read Decisions are based on incomplete information Coopers and Lybrand (1987): 95% of information is on paper The paper myth 2 Conclusion: the paper document is to blame Consequence: myriads of techniques, software, hardware Mainly focussed on imaging Current situation 90% of information is on paper Still information overload Paperless Office? SCI X SCI X Paper as common medium Research on paper use In USA 1 billion (1000 million) pages per day 70 80% generated by computers 60% used for data-entry The underlying problem Current information systems do not share the richness of document-based information Paper is still the most portable transport medium for information Exercise Trace the paperwork that is involved in a consumer sale Which paper work can be avoided by using electronic communication? (EDI) How much work can be avoided? What is necessary to make this possible? SCI X SCI X protocols September 15,
Distributed Programming - Sockets
Distributed Programming - Sockets Piet van Oostrum May 25, 2009 Concurrency In praktische situaties krijgen we concurrency door: Processen Threads Interrupts (alleen intern in het O.S.) Processen Onafhankelijke
More informationLecture 3: Socket Programming
Lecture 3: Socket Programming Prof. Shervin Shirmohammadi SITE, University of Ottawa Fall 2005 CEG4183/ELG4183 3-1 Sockets From a logical perspective, a Socket is a communication end point. It is not a
More informationJAVA Network API. 2 - Connection-Oriented vs. Connectionless Communication
JAVA Network API To be discussed 1 - java.net... 1 2 - Connection-Oriented vs. Connectionless Communication... 1 3 - Connectionless:... 1 4 - Networking Protocols... 2 5 - Sockets... 2 6 - Multicast Addressing...
More informationNetwork Programming. Powered by Pentalog. by Vlad Costel Ungureanu for Learn Stuff
Network Programming by Vlad Costel Ungureanu for Learn Stuff Java Network Protocols 2 Java Network Protocols 3 Addresses Innet4Address (32-bit) 85.122.23.145 - numeric pentalog.com symbolic Innet6Address
More informationOutlines. Networking in Java. Internet hardware structure. Networking Diagram. IP Address. Networking in Java. Networking basics
G52APR Application programming Networking in Java Michael Li http://www.cs.nott.ac.uk/~jwl/g52apr Outlines Networking basics Network architecture IP address and port Server-client model TCP and UDP protocol
More informationJava Networking (sockets)
Java Networking (sockets) Rui Moreira Links: http://java.sun.com/docs/books/tutorial/networking/toc.html#sockets http://www.javaworld.com/javaworld/jw-12-1996/jw-12-sockets_p.html Networking Computers
More informationCSCD 330 Network Programming Spring 2018
CSCD 330 Network Programming Spring 2018 Lecture 6 Application Layer Socket Programming in Java Reading for Java Client/Server see Relevant Links Some Material in these slides from J.F Kurose and K.W.
More informationJava Support for developing TCP Network Based Programs
Java Support for developing TCP Network Based Programs 1 How to Write a Network Based Program (In Java) As mentioned, we will use the TCP Transport Protocol. To communicate over TCP, a client program and
More informationCS September 2017
Machine vs. transport endpoints IP is a network layer protocol: packets address only the machine IP header identifies source IP address, destination IP address Distributed Systems 01r. Sockets Programming
More informationPieter van den Hombergh Richard van den Ham. March 17, 2018
: Network : Network, Object Pieter van den Hombergh Richard van den Ham Fontys Hogeschool voor Techniek en Logistiek March 17, 2018 /FHTenL : Network March 17, 2018 1/21 Topics, Object Some everyday life
More informationCSCD 330 Network Programming Spring 2018
CSCD 330 Network Programming Spring 2018 Lecture 7 Application Layer Socket Programming in Java Reading: Chapter 2, Java links Relevant Links page Some Material in these slides from J.F Kurose and K.W.
More informationCSCD 330 Network Programming Winter 2019
CSCD 330 Network Programming Winter 2019 Lecture 7 Application Layer Socket Programming in Java Reading: Chapter 2, Java links Relevant Links page Some Material in these slides from J.F Kurose and K.W.
More informationNetworking Basics. network communication.
JAVA NETWORKING API Networking Basics When you write Java programs that communicate over the network, you are programming at the application layer. Typically, you don't need to concern yourself with the
More informationInterprocess Communication
Interprocess Communication Nicola Dragoni Embedded Systems Engineering DTU Informatics 4.2 Characteristics, Sockets, Client-Server Communication: UDP vs TCP 4.4 Group (Multicast) Communication The Characteristics
More informationJava.net Package and Classes(Url, UrlConnection, HttpUrlConnection)
Java.net Package and Classes(Url, UrlConnection, HttpUrlConnection) Sisoft Technologies Pvt Ltd SRC E7, Shipra Riviera Bazar, Gyan Khand-3, Indirapuram, Ghaziabad Website: www.sisoft.in Email:info@sisoft.in
More informationJava Socket Application. Distributed Systems IT332
Java Socket Application Distributed Systems IT332 Outline Socket Communication Socket packages in Java Multithreaded Server Socket Communication A distributed system based on the client server model consists
More informationCPSC 441 Tutorial TCP Server. Department of Computer Science University of Calgary
CPSC 441 Tutorial TCP Server Department of Computer Science University of Calgary TCP Socket Client Server Connection Request Server Listening on welcoming socket Client Socket Server Socket Data Simple
More informationDistributed Systems COMP 212. Lecture 8 Othon Michail
Distributed Systems COMP 212 Lecture 8 Othon Michail HTTP Protocol Hypertext Transfer Protocol Used to transmit resources on the WWW HTML files, image files, query results, Identified by Uniform Resource
More informationSocket 101 Excerpt from Network Programming
Socket 101 Excerpt from Network Programming EDA095 Nätverksprogrammering Originals by Roger Henriksson Computer Science Lund University Java I/O Streams Stream (swe. Ström) - A stream is a sequential ordering
More informationCS 351 Design of Large Programs Sockets Example
CS 351 Design of Large Programs Sockets Example Brooke Chenoweth University of New Mexico Spring 2019 Socket Socket(String host, int port) InputStream getinputstream() OutputStream getoutputstream() void
More informationAdvanced Java Programming. Networking
Advanced Java Programming Networking Eran Werner and Ohad Barzilay Tel-Aviv University Advanced Java Programming, Spring 2006 1 Overview of networking Advanced Java Programming, Spring 2006 2 TCP/IP protocol
More informationCOMP 213. Advanced Object-oriented Programming. Lecture 20. Network Programming
COMP 213 Advanced Object-oriented Programming Lecture 20 Network Programming Network Programming A network consists of several computers connected so that data can be sent from one to another. Network
More informationTCP Networking in Java. Some reminders
TCP Networking in Java Some reminders Protocol Synonymous of Etiquette a code of behavior that delineates expectations for social behavior according to contemporary conventional norms within a society,
More informationCS 355. Computer Networking. Wei Lu, Ph.D., P.Eng.
CS 355 Computer Networking Wei Lu, Ph.D., P.Eng. Chapter 2: Application Layer Overview: Principles of network applications? Introduction to Wireshark Web and HTTP FTP Electronic Mail: SMTP, POP3, IMAP
More informationMulti-threaded Web Server (Assignment 1) Georgios Georgiadis
Multi-threaded Web Server (Assignment 1) Georgios Georgiadis Overview Multi-threaded Web Server What to do and how to do it HTTP messages Processes and threads ComputerComm '09 2 Multi-threaded Web Server
More informationDistributed Systems Recitation 2. Tamim Jabban
15-440 Distributed Systems Recitation 2 Tamim Jabban Project 1 Involves creating a Distributed File System (DFS) Released yesterday When/If done with PS1, start reading the handout Today: Socket communication!
More information1.00 Lecture 30. Sending information to a Java program
1.00 Lecture 30 Input/Output Introduction to Streams Reading for next time: Big Java 15.5-15.7 Sending information to a Java program So far: use a GUI limited to specific interaction with user sometimes
More informationCS 2113 Software Engineering
CS 2113 Software Engineering Java 6: File and Network IO https://github.com/cs2113f18/template-j-6-io.git Professor Tim Wood - The George Washington University Project 2 Zombies Basic GUI interactions
More informationJAVA SOCKET PROGRAMMING
JAVA SOCKET PROGRAMMING WHAT IS A SOCKET? Socket The combination of an IP address and a port number. (RFC 793 original TCP specification) The name of the Berkeley-derived application programming interfaces
More informationNetwork. Dr. Jens Bennedsen, Aarhus University, School of Engineering Aarhus, Denmark
Network Dr. Jens Bennedsen, Aarhus University, School of Engineering Aarhus, Denmark jbb@ase.au.dk Outline Socket programming If we have the time: Remote method invocation (RMI) 2 Socket Programming Sockets
More informationNetworking and Security
Chapter 03 Networking and Security Mr. Nilesh Vishwasrao Patil Government Polytechnic Ahmednagar Socket Network socket is an endpoint of an interprocess communication flow across a computer network. Sockets
More informationDistributed Systems Recitation 2. Tamim Jabban
15-440 Distributed Systems Recitation 2 Tamim Jabban Agenda Communication via Sockets in Java (this enables you to complete PS1 and start P1 (goes out today!)) Multi-threading in Java Coding a full Client-Server
More informationLab 10: Sockets 12:00 PM, Apr 4, 2018
CS18 Integrated Introduction to Computer Science Fisler, Nelson Lab 10: Sockets 12:00 PM, Apr 4, 2018 Contents 1 The Client-Server Model 1 1.1 Constructing Java Sockets.................................
More informationThe Application Layer: & SMTP
The Application Layer: email & SMTP Smith College, CSC 249 Feb 1, 2018 4-1 Chapter 2: Application layer q 2.1 Principles of network applications q 2.2 Web and HTTP q 2.3 FTP q 2.4 Electronic Mail v SMTP,
More informationObject-Oriented Programming Design. Topic : Streams and Files
Electrical and Computer Engineering Object-Oriented Topic : Streams and Files Maj Joel Young Joel Young@afit.edu. 18-Sep-03 Maj Joel Young Java Input/Output Java implements input/output in terms of streams
More informationCPSC 441 Assignment-3 Discussion. Department of Computer Science University of Calgary
CPSC 441 Assignment-3 Discussion Department of Computer Science University of Calgary Overview of FastFTP protocol TCP for Initial Handshake Port: 2245 Port: 4576 You may choose any free port >1024 at
More informationInternet and Intranet Applications and Protocols Examples of Bad SMTP Code Prof. Arthur P. Goldberg Spring, 2004
Internet and Intranet Applications and Protocols Examples of Bad SMTP Code Prof. Arthur P. Goldberg Spring, 00 Summary I show some examples of bad code and discuss how they fail to meet the Software Quality
More informationPrevious lecture: threads G51PRG: Introduction to Programming Second semester Lecture 12 URL
Previous lecture: threads G51PRG: Introduction to Programming Second semester Lecture 12 What is a thread Why use multiple threads Issues and problems involved Java threads Natasha Alechina School of Computer
More informationChapter 2 Application Layer
Chapter 2 Application Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and
More informationInternet Technology 2/7/2013
Sample Client-Server Program Internet Technology 02r. Programming with Sockets Paul Krzyzanowski Rutgers University Spring 2013 To illustrate programming with TCP/IP sockets, we ll write a small client-server
More informationInfo 408 Distributed Applications programming 2 nd semester of 2017/2018 Credits: 5 Lecturer: Dr. Antoun Yaacoub
Lebanese University Faculty of Science I Master 1 degree Computer Science Info 408 Distributed Applications programming 2 nd semester of 2017/2018 Credits: 5 Lecturer: Dr. Antoun Yaacoub Starting Network
More informationI gave this assignment in my Internet and Intranet Protocols and Applications course:
Producing Production Quality Software Lecture 1b: Examples of Bad Code Prof. Arthur P. Goldberg Fall, 2004 Summary I show some examples of bad code and discuss how they fail to meet the Software Quality
More informationIntroduction to Sockets 9/25/14
Introduction to Sockets 9/25/14 81 Remote communication Inter-process communication is at the heart of all distributed systems Using the network protocol stack on a node is the only way to communicate
More informationICOM 4015-Advanced Programming. Spring Instructor: Dr. Amir H. Chinaei. TAs: Hector Franqui, Jose Garcia, and Antonio Tapia. Reference: Big Java
ICOM 4015-Advanced Programming Spring 2014 Instructor: Dr. Amir H. Chinaei TAs: Hector Franqui, Jose Garcia, and Antonio Tapia Reference: Big Java By Hortsmann, Ed 4 Lab 7 Continuation of HTTP and Introduction
More informationChapter 2 Applications and
Chapter 2 Applications and Layered Architectures Sockets Socket API API (Application Programming Interface) Provides a standard set of functions that can be called by applications Berkeley UNIX Sockets
More informationSocket programming. Complement for the programming assignment INFO-0010
Socket programming Complement for the programming assignment INFO-0010 Outline Socket definition Briefing on the Socket API A simple example in Java Multi-threading and Synchronization Example : HTTP protocol
More informationPrinciples of Software Construction. Introduction to networks and distributed systems School of Computer Science
Principles of Software Construction Introduction to networks and distributed systems Josh Bloch Charlie Garrod School of Computer Science 1 Administrivia Homework 5 Best Frameworks available tonight Or
More informationCommunication in Distributed Systems: Sockets Programming. Operating Systems
Communication in Distributed Systems: Sockets Programming Operating Systems TCP/IP layers Layers Message Application Transport Internet Network interface Messages (UDP) or Streams (TCP) UDP or TCP packets
More informationProgramming Methods Dr Robert Harle
Programming Methods Dr Robert Harle IA NST CS and CST Lent 2008/09 Handout 4 Our Motivating Example We re going to make the world s simplest web server It s not going to challenge apache etc But it will
More informationCPSC 441 UDP Socket Programming. Department of Computer Science University of Calgary
CPSC 441 UDP Socket Programming Department of Computer Science University of Calgary Socket programming using UDP (vs TCP) UDP: no connection between client and server vno handshaking vsender explicitly
More informationSoftware Practice 1 - Socket
Software Practice 1 - Socket Terms of socket programming Socket Implementation (TCP, UDP) Socket with multithread Serialization Lab practice Prof. Joonwon Lee T.A. Jaehyun Song Jongseok Kim T.A. Sujin
More informationIntroduction to Socket Programming
Introduction to Socket Programming (Advanced Computer Networks) By Priyank Shah NET ID : pss160530 A Simple Question What are Sockets? Sockets are communication points on the same or different computers
More informationJava networking using sockets
Teaching Assistant Andrei Vasilateanu Java networking using sockets Introduction One of the software architectures used in distributed computing is client-server. The server offers a service which is requested
More informationNetwork Programming Benoît Garbinato
Network Programming Benoît Garbinato 1 Network programming Network programming is not distributed programming (somewhat lower-level) They both rely on: computers as processing & storage resources a network
More informationOBJECT ORIENTED PROGRAMMING
1 OBJECT ORIENTED PROGRAMMING Lecture 14 Networking Basics Outline 2 Networking Basics Socket IP Address DNS Client/Server Networking Class & Interface URL Demonstrating URL Networking 3 Java is practically
More informationCommunication Paradigms
Communication Paradigms Nicola Dragoni Embedded Systems Engineering DTU Compute 1. Interprocess Communication Direct Communication: Sockets Indirect Communication: IP Multicast 2. High Level Communication
More informationChapter 2: outline. 2.1 principles of network applications. 2.6 P2P applications 2.7 socket programming with UDP and TCP
Chapter 2: outline 2.1 principles of network applications app architectures app requirements 2.2 Web and HTTP 2.3 FTP 2.4 electronic mail SMTP, POP3, IMAP 2.5 DNS 2.6 P2P applications 2.7 socket programming
More informationPrinciples, Models, and Applications for Distributed Systems M
Università degli Studi di Bologna Facoltà di Ingegneria Principles, Models, and Applications for Distributed Systems M Lab assignment 4 (worked-out) Connection-oriented Java Sockets Luca Foschini Winter
More informationAssignment 2 CISC 650 Computer Networks Fall 2016 Due Date: 10/9/ :59PM ET Total Points: 100
Nova Southeastern University College of Engineering and Computing Assignment 2 CISC 650 Computer Networks Fall 2016 Due Date: 10/9/2016 11:59PM ET Total Points: 100 Note: Please include your name and the
More informationChapter 4: Processes
Chapter 4: Processes Process Concept Process Scheduling Operations on Processes Cooperating Processes Interprocess Communication Communication in Client-Server Systems 4.1 Process Concept An operating
More informationPrinciples, Models, and Applications for Distributed Systems M
Università degli Studi di Bologna Facoltà di Ingegneria Principles, Models, and Applications for Distributed Systems M Exercitation 3 Connected Java Sockets Jacopo De Benedetto Distributed architecture
More informationCSE 461 Module 11. Connections
CSE 461 Module 11 Connections This Time More on the Transport Layer Focus How do we connect processes? Topics Naming processes Connection setup / teardown Flow control Application Presentation Session
More informationCS 251 Intermediate Programming Java I/O Streams
CS 251 Intermediate Programming Java I/O Streams Brooke Chenoweth University of New Mexico Spring 2018 Basic Input/Output I/O Streams mostly in java.io package File I/O mostly in java.nio.file package
More informationWeb Server Project. Tom Kelliher, CS points, due May 4, 2011
Web Server Project Tom Kelliher, CS 325 100 points, due May 4, 2011 Introduction (From Kurose & Ross, 4th ed.) In this project you will develop a Web server in two steps. In the end, you will have built
More informationWeek 12. Streams and File I/O. Overview of Streams and File I/O Text File I/O
Week 12 Streams and File I/O Overview of Streams and File I/O Text File I/O 1 I/O Overview I/O = Input/Output In this context it is input to and output from programs Input can be from keyboard or a file
More informationTCP connections. Fundamentals of Internet Connections Objectives. Connect to an Echo port. java.net.socket
Objectives TCP connections To understand programming of clients that connect to servers via TCP To understand the basics of programming of servers that accept TCP connections To practice programming of
More informationI/O in Java I/O streams vs. Reader/Writer. HW#3 due today Reading Assignment: Java tutorial on Basic I/O
I/O 10-7-2013 I/O in Java I/O streams vs. Reader/Writer HW#3 due today Reading Assignment: Java tutorial on Basic I/O public class Swimmer implements Cloneable { public Date geteventdate() { return (Date)
More informationChapter 10. IO Streams
Chapter 10 IO Streams Java I/O The Basics Java I/O is based around the concept of a stream Ordered sequence of information (bytes) coming from a source, or going to a sink Simplest stream reads/writes
More informationCS193j, Stanford Handout #26. Files and Streams
CS193j, Stanford Handout #26 Summer, 2003 Manu Kumar Files and Streams File The File class represents a file or directory in the file system. It provides platform independent ways to test file attributes,
More informationSockets: Network io HOM HVD. Sockets, Object Streams and Serialization. Sockets. Sockets: Network io HOM HVD
: Network : Network, bject ieter van den Hombergh ichard van den Ham Fontys Hogeschool voor echniek en Logistiek March 17, 2018 /FHenL : Network March 17, 2018 1/21 opics, bject Some everyday life sockets:
More informationNetworking and socket communica2on
Networking and socket communica2on CSCI 136: Fundamentals of Computer Science II Keith Vertanen Copyright 2014 Networking basics Overview Difference between: clients and servers Addressing IP addresses,
More informationJAVA - NETWORKING (SOCKET PROGRAMMING)
JAVA - NETWORKING (SOCKET PROGRAMMING) http://www.tutorialspoint.com/java/java_networking.htm Copyright tutorialspoint.com The term network programming refers to writing programs that execute across multiple
More informationCPSC 441 Assignment-3 Discussion. Department of Computer Science University of Calgary
CPSC 441 Assignment-3 Discussion Department of Computer Science University of Calgary Overview of FastFTP protocol TCP for Initial Handshake Port: 1111 Port: 4444 UDP for File Content Transfer Port: 3333
More informationNetworking: IPv6, UDP and TCP. Network Programming in Java UDP and TCP
Networking: IPv6, UDP and TCP Network Programming in Java UDP and TCP SCOMRED, November 2018 Instituto Superior de Engenharia do Porto (ISEP) Departamento de Engenharia Informática(DEI) SWitCH Computing
More informationJAVA 프로그래밍 II. Lab #7 (Networking) TCP Java Socket. TCP vs UDP 2017 학년도 1 학기 년봄학기 5/24/2017 박경신. Client. Server
Lab #7 (Networking) 2017 학년도 1 학기 JAVA 프로그래밍 II 기존요구사항분석 Lab #6 는 Thread, Runnable 과 SwingWorker 를이용한다양한멀티스레드기능을사용 Lab #7 는 TCP/UDP 등다양한네트워크프로그래밍기능을사용 TCP, UDP, HTTP, File Transfer 514770-1 2017 년봄학기 5/24/2017
More informationChapter 2 Application Layer
Internet and Intranet Protocols and Applications Lecture 4: Application Layer 3: Socket Programming Spring 2006 Arthur Goldberg Computer Science Department New York University artg@cs.nyu.edu Chapter 2
More informationUnit 1 Java Networking
Q1. What is Server Socket? Discuss the difference between the Socket and ServerSocket class. The ServerSocket class (java.net) can be used to create a server socket. This object is used to establish communication
More informationCSCD 330 Network Programming
CSCD 330 Network Programming Lecture 8 Client-Server Programming Threads Winter 2015 Reading: Chapter 2, Relevant Links Some Material in these slides from J.F Kurose and K.W. Ross All material copyright
More informationCOMP 213. Advanced Object-oriented Programming. Lecture 19. Input/Output
COMP 213 Advanced Object-oriented Programming Lecture 19 Input/Output Input and Output A program that read no input and produced no output would be a very uninteresting and useless thing. Forms of input/output
More informationObject-Oriented Programming in Java
CSCI/CMPE 3326 Object-Oriented Programming in Java 1. Socket Programming Dongchul Kim Department of Computer Science University of Texas Rio Grande Valley Two types of TCP Socket java.net.serversocket
More informationCSCD 330 Network Programming
CSCD 330 Network Programming Lecture 9 Transport Layer Winter 2019 Reading: Begin Chapter 3 Some Material in these slides from J.F Kurose and K.W. Ross All material copyright 1996-2007 1 Outline Overview
More informationClient/Server Computing & Socket Programming
CPSC 852 Intering Client/Server Computing & Socket Programming Michele Weigle Department of Computer Science Clemson University mweigle@cs.clemson.edu http://www.cs.clemson.edu/~mweigle/courses/cpsc852
More informationCISC 323 (Week 9) Design of a Weather Program & Java File I/O
CISC 323 (Week 9) Design of a Weather Program & Java File I/O Jeremy Bradbury Teaching Assistant March 8 & 10, 2004 bradbury@cs.queensu.ca Programming Project The next three assignments form a programming
More informationSocket Programming(TCP & UDP) Sanjay Chakraborty
Socket Programming(TCP & UDP) Sanjay Chakraborty Computer network programming involves writing computer programs that enable processes to communicate with each other across a computer network. The endpoint
More informationWorld Scientific Research Journal (WSRJ) ISSN: The Implementation of Tcp Socket Programming based on Java
World Scientific Research Journal (WSRJ) ISSN: 2472-3703 www.wsr-j.org The Implementation of Tcp Socket Programming based on Java Deen Chen Computer Science Department, North China Electric Power University,
More informationI/O Streams. Object-oriented programming
I/O Streams Object-oriented programming Outline Concepts of Data Streams Streams and Files File class Text file Binary file (primitive data, object) Readings: GT, Ch. 12 I/O Streams 2 Data streams Ultimately,
More informationExample: Copying the contents of a file
Administrivia Assignment #4 is due imminently Due Thursday April 8, 10:00pm no late assignments will be accepted Sign up in the front office for a demo time Dining Philosophers code is online www.cs.ubc.ca/~norm/211/2009w2/index.html
More informationJava A.1 TCP/IP TCP. TCP_RO.java import java.net.*; import java.io.*;
II A p.1 A Java C Java TCP/IP TCP/IP A.1 A.1.1 TCP TCP_RO.java public class TCP_RO { public static void main(string[] argv) { Socket readsocket = new Socket(argv[0], Integer.parseInt(argv[1])); InputStream
More informationPrinciples, Models and Applications for Distributed Systems M
Università degli Studi di Bologna Facoltà di Ingegneria Principles, Models and Applications for Distributed Systems M Lab assignment 2 (worked-out) Connectionless Java Sockets Luca Foschini 2010/2011 Exercise
More informationData Structures. 03 Streams & File I/O
David Drohan Data Structures 03 Streams & File I/O JAVA: An Introduction to Problem Solving & Programming, 6 th Ed. By Walter Savitch ISBN 0132162709 2012 Pearson Education, Inc., Upper Saddle River, NJ.
More informationUnit 9: Network Programming
Faculty of Computer Science Programming Language 2 Object oriented design using JAVA Dr. Ayman Ezzat Email: ayman@fcih.net Web: www.fcih.net/ayman Unit 9: Network Programming 1 1. Background 2. Accessing
More informationLab 1 : Java Sockets
Lab 1 : Java Sockets 1. Goals In this lab you will work with a low-level mechanism for distributed communication. You will discover that Java sockets do not provide: - location transparency - naming transparency
More informationNetwork Programming: Servers
2012 Marty Hall Network Programming: Servers Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/java.html 3 Customized Java EE Training: http://courses.coreservlets.com/
More informationAny serious Java programmers should use the APIs to develop Java programs Best practices of using APIs
Ananda Gunawardena Java APIs Think Java API (Application Programming Interface) as a super dictionary of the Java language. It has a list of all Java packages, classes, and interfaces; along with all of
More informationTRANSMISSION CONTROL PROTOCOL. ETI 2506 TELECOMMUNICATION SYSTEMS Monday, 7 November 2016
TRANSMISSION CONTROL PROTOCOL ETI 2506 TELECOMMUNICATION SYSTEMS Monday, 7 November 2016 ETI 2506 - TELECOMMUNICATION SYLLABUS Principles of Telecom (IP Telephony and IP TV) - Key Issues to remember 1.
More informationCSCD 330 Network Programming
CSCD 330 Network Programming Lecture 8 Client-Server Programming Threads Spring 2018 Reading: Chapter 2, Relevant Links - Threads Some Material in these slides from J.F Kurose and K.W. Ross All material
More informationSockets: Network io HOM DOS HVD HEE. Sockets, Object Streams and Serialization. Sockets. Sockets: Network io HOM DOS HVD HEE
: Network : Network ieter van den Hombergh hijs Dorssers ichard van den Ham Uwe van Heesch, bject Fontys Hogeschool voor echniek en Logistiek April 22, 2016 /FHenL : Network April 22, 2016 1/19 opics :
More informationUnix Network Programming
Unix Network Programming Remote Communication Dr Hamed Vahdat-Nejad Network Applications Types: Client Server Exampels: A web browser (client) Ap communicating with a Web server An FTP client Fetching
More informationSOCKETS. COMP750 Distributed Systems
SOCKETS COMP750 Distributed Systems Sockets The Socket library is a traditional Application Program Interface (API) to the transport layer. Sockets were originally implemented in Unix systems and have
More informationChapter 9: UDP sockets & address conversion function
Chapter 9: UDP sockets & address conversion function 9.1 Elementary UDP sockets:- Introduction to UDP sockets UDP is connectionless, unreliable, datagram protocol TCP is connection-oriented, reliable byte
More information