Quick Guide to Python Socket Programming 吳俊興 國立高雄大學資訊工程學系
|
|
- Lionel Dwayne Patrick
- 6 years ago
- Views:
Transcription
1 Quick Guide to Python Socket Programming 吳俊興 國立高雄大學資訊工程學系
2 Python Overview Philosophy - code readability Uses whitespace indentation Rather than curly braces or keywords, to delimit blocks Can express concepts in fewer lines of code Built-in support for arbitrary precision arithmetic (long, Decimal, Fractional, ) General-purpose, high-level programming language Interpreters Time-critical functions to extension modules written in languages such as C Pyinstaller to package into stand-alone executable programs Cython to translate a Python script into C APIs available in C/C++ to extend and embed the Python Interpreter Multiple programming paradigms Object-oriented, imperative (statements to change program's states) and functional programming or procedural styles Features A dynamic type system An automatic memory management A large and comprehensive standard library 2
3 Download Python Releases for Windows Python 3.7.0a2 ( ) Python ( ) Change Windows console/filesystem encoding to UTF-8 Python ( ) Windows x86-64 executable installer Windows x86 executable installer Python 3.0 ( ) Compatible to Python 2.6 and 2.7 (not to 2.0) print("hello, world!") # for 2.6 or later print "Hello, world! # for versions earlier than 2.6 raw_input() changed to input() Unicode text (str) v.s. data (bytes, b"...") - must always explicitly convert str.encode() to go from str to bytes, and bytes.decode() to go from bytes to str Supports Unicode characters in identifiers 3
4 Install 4
5 Customize Installation 5
6 Python IDLE Integrated Development and Learning Environment coded in 100% pure Python, using the tkinter GUI toolkit cross-platform: works mostly the same on Windows, Unix, and Mac OS X Python shell window (interactive interpreter) with colorizing of code input, output, and error messages multi-window text editor with multiple undo, Python colorizing, smart indent, call tips, auto completion, and other features search within any window, replace within editor windows, and search through multiple files (grep) debugger with persistent breakpoints, stepping, and viewing of global and local namespaces configuration, browsers, and other dialogs Ctrl-D or exit() to quit 6
7 Your 1 st Python under IDLE Write simple code under Python shell >>> print("hello, I'm A from NUK CSIE.") Invoke Editor Window to develop codes and Run File New File Run Run Module (F5) (Save as hello.py) 7
8 Tips for Python Under Windows Default Windows encoding issue Auto-close issue 8
9 Quick Python Script Explanation for Programmers 9
10 Socket Programming Goal: learn how to build client/server applications that communicate using sockets Socket: door between application process and endend-transport protocol application process socket application process controlled by app developer transport transport network link Internet network link controlled by OS physical physical 10
11 Socket Types Two socket types for two transport services: UDP: unreliable datagram TCP: reliable, byte stream-oriented Application Example: 1. Client reads a line of characters (data) from its keyboard and sends the data to the server 2. The server receives the data and converts characters to uppercase 3. The server sends the modified data to the client 4. The client receives the modified data and displays the line on its screen 11
12 Socket programming with UDP UDP: no connection between client & server no handshaking before sending data sender explicitly attaches IP destination address and port # to each packet receiver extracts sender IP address and port# from received packet UDP: transmitted data may be lost or received out-of-order Application viewpoint: UDP provides unreliable transfer of groups of bytes ( datagrams ) between client and server 2-12
13 Client/Server Socket Interaction: UDP server (running on serverip) create socket, port= x: serversocket = socket(af_inet,sock_dgram) read datagram from serversocket write reply to serversocket specifying client address, port number client create socket: clientsocket = socket(af_inet,sock_dgram) Create datagram with server IP and port=x; send datagram via clientsocket read datagram from clientsocket close clientsocket 13
14 Example App: UDP Client include Python s socket library create UDP socket for server get user keyboard input Attach server name, port to message; send into socket Python UDPClient from socket import * servername = hostname serverport = clientsocket = socket(af_inet, SOCK_DGRAM) message = raw_input( Input lowercase sentence: ) clientsocket.sendto(message.encode(), read reply characters from socket into string print out received string and close socket (servername, serverport)) modifiedmessage, serveraddress = clientsocket.recvfrom(2048) print(modifiedmessage.decode()) clientsocket.close() 2-14
15 Example App: UDP Server create UDP socket bind socket to local port number loop forever Read from UDP socket into message, getting client s address (client IP and port) send upper case string back to this client Python UDPServer from socket import * serverport = serversocket = socket(af_inet, SOCK_DGRAM) serversocket.bind(('', serverport)) print ( The server is ready to receive ) while True: message, clientaddress = serversocket.recvfrom(2048) modifiedmessage = message.decode().upper() serversocket.sendto(modifiedmessage.encode(), clientaddress) 2-15
16 Socket Programming with TCP client must contact server server process must first be running server must have created socket (door) that welcomes client s contact client contacts server by: Creating TCP socket, specifying IP address, port number of server process when client creates socket: client TCP establishes connection to server TCP when contacted by client, server TCP creates new socket for server process to communicate with that particular client allows server to talk with multiple clients source port numbers used to distinguish clients (more in Chap 3) application viewpoint: TCP provides reliable, in-order byte-stream transfer ( pipe ) between client and server 16
17 Client/Server Socket Interaction: TCP server (running on hostid) create socket, port=x, for incoming request: serversocket = socket() client wait for incoming connection request connectionsocket = serversocket.accept() read request from connectionsocket write reply to connectionsocket close connectionsocket TCP connection setup create socket, connect to hostid, port=x clientsocket = socket() send request using clientsocket read reply from clientsocket close clientsocket 17
18 Example App: TCP Client Python TCPClient create TCP socket for server, remote port No need to attach server name, port from socket import * servername = servername serverport = clientsocket = socket(af_inet, SOCK_STREAM) clientsocket.connect((servername,serverport)) sentence = input( Input lowercase sentence: ) clientsocket.send(sentence.encode()) modifiedsentence = clientsocket.recv(1024) print ( From Server:, modifiedsentence.decode()) clientsocket.close() 2-18
19 Example App: TCP Server create TCP welcoming socket server begins listening for incoming TCP requests loop forever server waits on accept() for incoming requests, new socket created on return read bytes from socket (but not address as in UDP) close connection to this client (but not welcoming socket) Python TCPServer from socket import * serverport = serversocket = socket(af_inet,sock_stream) serversocket.bind((,serverport)) serversocket.listen(1) print The server is ready to receive while True: connectionsocket, addr = serversocket.accept() sentence = connectionsocket.recv(1024).decode() capitalizedsentence = sentence.upper() connectionsocket.send(capitalizedsentence. encode()) connectionsocket.close() 2-19
20 Example: TCPClient.py and TCPServer.py TCPClient.py TCPServer.py Python 3.6 print() instead of print input() instead of raw_input() Explicitly sentence.encode() and modifiedsentence.decode() Change servername and serverport if required 20
21 Demo: TCPClient and TCPServer Start TCPServer.py in DOS Prompt > python TCPServer.py Use telnet localhost to test if it is running Press Ctrl-C to interrupt > Also OK to start from IDLE Start TCPClient.py from Python IDLE File Open: TCPClient.py Run Run Module (F5) Input: Hello, I'm A from Kaohsiung. 21
22 Python Documents The Python Tutorial The Python Language Reference The Python Standard Library PyPI - the Python Package Index 122,139 packages ( ) Introduction 2. Built-in Functions 3. Built-in Constants 4. Built-in Types 5. Built-in Exceptions 6. Text Processing Services 7. Binary Data Services 8. Data Types 9. Numeric and Mathematical Modules 10. Functional Programming Modules 11. File and Directory Access 12. Data Persistence 13. Data Compression and Archiving 14. File Formats 15. Cryptographic Services 16. Generic Operating System Services 17. Concurrent Execution 18. Interprocess Communication and Networking 19. Internet Data Handling 20. Structured Markup Processing Tools 21. Internet Protocols and Support 22. Multimedia Services 23. Internationalization 24. Program Frameworks 25. Graphical User Interfaces with Tk 26. Development Tools 27. Debugging and Profiling 28. Software Packaging and Distribution 29. Python Runtime Services 30. Custom Python Interpreters 31. Importing Modules 32. Python Language Services 33. Miscellaneous Services 34. MS Windows Specific Services 35. Unix Specific Services 36. Superseded Modules 37. Undocumented Modules 22
23 Standard Library (Internet Related) 21. Internet Protocols and Support webbrowser Convenient Web-browser controller cgi Common Gateway Interface support cgitb Traceback manager for CGI scripts wsgiref WSGI Utilities and Reference Implementation urllib URL handling modules urllib.request Extensible library for opening URLs urllib.response Response classes used by urllib urllib.parse Parse URLs into components urllib.error Exception classes raised by urllib.request urllib.robotparser Parser for robots.txt http HTTP modules http.client HTTP protocol client ftplib FTP protocol client poplib POP3 protocol client imaplib IMAP4 protocol client nntplib NNTP protocol client smtplib SMTP protocol client smtpd SMTP Server telnetlib Telnet client uuid UUID objects according to RFC socketserver A framework for network servers http.server HTTP servers http.cookies HTTP state management http.cookiejar Cookie handling for HTTP clients xmlrpc XMLRPC server and client modules xmlrpc.client XML-RPC client access xmlrpc.server Basic XML-RPC servers ipaddress IPv4/IPv6 manipulation library 18. Interprocess Communication and Networking socket Low-level networking interface ssl TLS/SSL wrapper for socket objects select Waiting for I/O completion selectors High-level I/O multiplexing asyncio Asynchronous I/O, event loop, coroutines and tasks asyncore Asynchronous socket handler asynchat Asynchronous socket command/response handler signal Set handlers for asynchronous events mmap Memory-mapped file support 19. Internet Data Handling An and MIME handling package json JSON encoder and decoder mailcap Mailcap file handling mailbox Manipulate mailboxes in various formats mimetypes Map filenames to MIME types base64 Base16, Base32, Base64, Base85 Data Encodings binhex Encode and decode binhex4 files binascii Convert between binary and ASCII quopri Encode and decode MIME quoted-printable data uu Encode and decode uuencode files 20. Structured Markup Processing Tools html HyperText Markup Language support html.parser Simple HTML and XHTML parser html.entities Definitions of HTML general entities XML Processing Modules xml.etree.elementtree The ElementTree XML API xml.dom The Document Object Model API xml.dom.minidom Minimal DOM implementation xml.dom.pulldom Support for building partial DOM trees xml.sax Support for SAX2 parsers xml.sax.handler Base classes for SAX handlers xml.sax.saxutils SAX Utilities xml.sax.xmlreader Interface for XML parsers xml.parsers.expat Fast XML parsing using Expat 23
24 Chinese String: big5 v.s. UTF-8 Encodings Specify the right coding Python default is utf-8, but not in all editors (big5 in Windows NotePad) 24
Computer Communication Networks Socket Programming
Computer Communication Networks Socket Programming ICEN/ICSI 416 Fall 2018 Prof. Aveek Dutta 1 Application Programming Interface Interface exported by the network Since most network protocols are implemented
More informationApplication Programming Interfaces
Application Programming Interfaces The TCP/IP protocol suite provides only the protocols that can be used by processes to communicate across a network. Though standarized, how these protocols are implemented
More informationWe will cover in this order: 2.1, 2.7, 2.5, 2.4, 2.2
CSE 422 Notes, Set 2 These slides contain materials provided with the text: Computer Networking: A Top Down Approach,5 th edition, by Jim Kurose and Keith Ross, Addison-Wesley, April 2009. Additional figures
More informationChapter II: Application Layer
Chapter II: Application Layer UG3 Computer Communications & Networks (COMN) Myungjin Lee myungjin.lee@ed.ac.uk Slides copyright of Kurose and Ross Internet hourglass Here 2 Some network apps e-mail web
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 informationChapter 2: outline. 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 informationClient/Server Computing & Socket Programming
COMP 431 Internet Services & Protocols Client/Server Computing & Socket Programming Jasleen Kaur January 29, 2019 Application-Layer Protocols Overview Application-layer protocols define:» The types of
More informationDistributed Systems. Remote Procedure Calls
Distributed Systems Remote Procedure Calls Today s Agenda Last time: Computer networks, primarily from an application perspective Protocol layering Client-server architecture End-to-end principle Today:
More informationCMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 6
CMPE 150/L : Introduction to Computer Networks Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 6 1 Midterm room for overflow students The students who used my registration code to enroll
More informationThe Application Layer: Sockets Wrap-Up
The Application Layer: Sockets Wrap-Up CSC 249 February 8, 2018 slides mostly from J.F Kurose and K.W. Ross,copyright 1996-2012 1 Socket Overview q Examples with socket-api programming q Differences between
More informationDistributed Systems. Networking Slides courtesy Kurose & Ross
Distributed Systems Networking Slides courtesy Kurose & Ross Agenda Computer networks, primarily from an application perspective Protocol layering Client-server architecture End-to-end principle TCP Socket
More informationChapter 2: outline. 2.1 principles of network applications app architectures app requirements
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 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 informationCopyright Python Software Foundation; All Rights Reserved.
B a The Python standard library contains well over 200 modules, although the exact number varies between distributions. Not all of these modules are recommended for use by the typical Python programmer;
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 informationChapter 2: Application Layer. Chapter 2: application layer. outline. Some network apps. Client-server architecture. Application architectures
Chapter 2: Application Layer Chapter 2: layer outline 2.1 principles of s 2.2 Web and HTTP 2.3 electronic, POP3, IMAP 2.4 socket programming with UDP and TCP our goals: conceptual, implementation aspects
More informationApplication Layer. CMPS 4750/6750: Computer Networks
Application Layer CMPS 4750/6750: Computer Networks 1 Agenda Principles of Network Applications Case Studies Web and HTTP Email Domain Name System (DNS) Peer-to-Peer File Sharing Socket Programming with
More informationNetwork Programming with Python. Sébastien Tixeuil
Network Programming with Python Sébastien Tixeuil sebastien.tixeuil@lip6.fr Python 101 Python Standard Types Numbers: 1, 122L, 2.0, 1e+2j Strings: Python, PROGRES Lists: [123, ABC ] Tuples: (123, ABC )
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 informationFoundations of Python
Foundations of Python Network Programming The comprehensive guide to building network applications with Python Second Edition Brandon Rhodes John Goerzen Apress Contents Contents at a Glance About the
More informationChapter 2 outline. 2.1 Principles of app layer protocols
Chapter 2 outline 2.1 Principles of app layer protocols clients and servers app requirements 2.2 Web and HTTP 2.3 FTP 2.4 Electronic Mail SMTP, POP3, IMAP 2.5 DNS 2.6 Socket programming with TCP 2.7 Socket
More informationComputer Communication Networks Foundation
Computer Communication Networks Foundation ICEN/ICSI 416 Fall 2017 Prof. Dola Saha 1 Foundation Applications Requirements Network Architecture Implementing Network Software Performance 2 Goals Exploring
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 informationEsempi di programmi client/server in Python 2
Reti di Calcolatori I Prof. Roberto Canonico Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione Corso di Laurea in Ingegneria Informatica A.A. 2018-2019 Esempi di programmi client/server
More informationChapter 2: outline. 2.5 P2P applications 2.6 video streaming and content distribution networks 2.7 socket programming with UDP and TCP
Chapter 2: outline 2.1 principles of network applications 2.2 Web and HTTP 2.3 electronic mail SMTP, POP3, IMAP 2.4 DNS 2.5 P2P applications 2.6 video streaming and content distribution networks 2.7 socket
More informationWeb Caching and HTTPS
Web Caching and HTTPS Caching as a technique to reduce user (perceived) response time Who caches? Origin server (database memory) Gateway reverse proxy (shared cache) Proxy (e.g., ISP share cache) Browser
More informationChapter 2: outline. 2.5 P2P applications 2.6 video streaming and content distribution networks 2.7 socket programming with UDP and TCP
Chapter 2: outline 2.1 principles of network applications 2.2 Web and HTTP 2.3 electronic mail SMTP, POP3, IMAP 2.4 DNS 2.5 P2P applications 2.6 video streaming and content distribution networks 2.7 socket
More informationChapter 10 User Datagram Protocol (UDP)
CSC521 Communication Protocols 網路通訊協定 Chapter 10 User Datagram Protocol (UDP) 吳俊興國立高雄大學資訊工程學系 Internetworking With TCP/IP, Vol I: Sixth Edition, Douglas E. Comer Outline 1 Introduction 2 Using A Protocol
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 informationChapter 2 Application Layer
Chapter 2 Application Layer Lu Su Assistant Professor Department of Computer Science and Engineering State University of New York at Buffalo Adapted from the slides of the book s authors Computer Networking:
More informationFoundations of Telematics
Foundations of Telematics Chapter 2 Application Layer Principles of network applications Important application protocols Using sockets Acknowledgement: These slides have been prepared by J.F. Kurose and
More informationComputer Networking Introduction
Computer Networking Introduction Halgurd S. Maghdid Software Engineering Department Koya University-Koya, Kurdistan-Iraq Lecture No.6 Chapter 2: outline 2.1 principles of network applications app architectures
More informationChapter 2 Application Layer
Chapter 2 Application Layer A note on the use of these Powerpoint slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations;
More informationChapter 2 Application Layer
Chapter 2 Application Layer Andrei Gurtov Computer Networking: A Top Down Approach All material copyright 1996-2016 J.F Kurose and K.W. Ross, All Rights Reserved 7 th edition Jim Kurose, Keith Ross Pearson/Addison
More informationEC441 Fall 2018 Introduction to Computer Networking Chapter 2: Application Layer
EC441 Fall 2018 Introduction to Computer Networking Chapter 2: Application Layer This presentation is adapted from slides produced by Jim Kurose and Keith Ross for their book, Computer Networking: A Top
More informationApplication Layer. Chapter 2. Computer Networking: A Top Down Approach. A note on the use of these Powerpoint slides:
Chapter 2 Application Layer A note on the use of these Powerpoint slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations;
More informationCSC 401 Data and Computer Communications Networks
CSC 401 Data and Computer Communications Networks Application Layer Video Streaming, CDN and Sockets Sec 2.6 2.7 Prof. Lina Battestilli Fall 2017 Outline Application Layer (ch 2) 2.1 principles of network
More informationChapter 2 Application Layer
Chapter 2 Application Layer A note on the use of these Powerpoint slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations;
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 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 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 see the animations;
More informationΠρωτόκολλα Διαδικτύου (ΨΣ-326 DS151)
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Πρωτόκολλα Διαδικτύου (ΨΣ-326 DS151) 3 Η ΕΡΓΑΣΤΗΡΙΑΚΗ ΔΙΑΛΕΞΗ (SOCKET PROGRAMMING) Υπεύθυνος καθηγητής: Άγγελος Ρούσκας Βοηθός: Υ.Δ. Ευθύμης Οικονόμου Πέμπτη
More informationELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition
ELEC / COMP 177 Fall 2014 Some slides from Kurose and Ross, Computer Networking, 5 th Edition Project #1 Starts in one week Is your Linux environment all ready? Bring your laptop Work time after quick
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 see the animations;
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 see the animations;
More informationFTP. Mail. File Transfer Protocol (FTP) FTP commands, responses. Electronic Mail. TDTS06: Computer Networks
TDTS0: Computer Networks Instructor: Niklas Carlsson Email: niklas.carlsson@liu.se FTP Notes derived from Computer Networking: A Top Down Approach, by Jim Kurose and Keith Ross, Addison-Wesley. The slides
More informationCC451 Computer Networks
CC451 Computer Networks Lecture 4 Application Layer (cont d) Application Layer 1 Chapter 2: Application layer 2.1 Principles of network applications 2.2 Web and HTTP 2.3 FTP 2.4 Electronic Mail SMTP, POP3,
More informationIEMS 5780 / IERG 4080 Building and Deploying Scalable Machine Learning Services
IEMS 5780 / IERG 4080 Building and Deploying Scalable Machine Learning Services Lecture 7 - Network Programming Albert Au Yeung 18th October, 2018 1 / 48 Computer Networking 2 / 48 Data Communication Exchange
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 see the animations;
More informationIntroduction p. 1 Basic Programming Introduction p. 7 Introduction to Python p. 7 Why Use Python? p. 10 Main Technical Features p.
Introduction p. 1 Basic Programming Introduction p. 7 Introduction to Python p. 7 Why Use Python? p. 10 Main Technical Features p. 13 Python Distribution p. 16 Installing and Configuring Python p. 18 Python
More informationLecture 05: Application Layer (Part 02) FTP, Peer-to-Peer, . Dr. Anis Koubaa
NET 331 Computer Networks Lecture 05: Application Layer (Part 02) FTP, Peer-to-Peer, Email Dr. Anis Koubaa Reformatted slides from textbook Computer Networking a top-down appraoch, Fifth Edition by Kurose
More informationChapter 2: outline. 2.6 P2P applications 2.7 socket programming with UDP and TCP
Chapter 2: outline 2.1 principles of network applications 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 with UDP and TCP Application
More informationNetwork Programming in Python. Bin Li Assistant Professor Dept. of Electrical, Computer and Biomedical Engineering University of Rhode Island
Network Programming in Python Bin Li Assistant Professor Dept. of Electrical, Computer and Biomedical Engineering University of Rhode Island Transmission Control Protocol (TCP) Connection-oriented Two
More informationInterprocess communication in shared memory systems. Interprocess communcation. Berkeley Sockets
Interprocess communcation slide 1 slide 2 Interprocess communication in shared memory systems in Operating systems we find there are a number of mechanisms used for interprocess communication (IPC) the
More informationWWW: the http protocol
Internet apps: their protocols and transport protocols Application e-mail remote terminal access Web file transfer streaming multimedia remote file Internet telephony Application layer protocol smtp [RFC
More informationReview of Previous Lecture
Review of Previous Lecture Network access and physical media Internet structure and ISPs Delay & loss in packet-switched networks Protocol layers, service models Some slides are in courtesy of J. Kurose
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 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 informationMotivation For Networking. Information access Interaction among cooperative application programs Resource sharing
Motivation For Networking Information access Interaction among cooperative application programs Resource sharing CS422 -- PART 1 13 2003 Practical Results E-mail File transfer/access Web browsing Remote
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 informationApplications & Application-Layer Protocols: FTP and (SMTP & POP)
COMP 431 Internet Services & Protocols Applications & Application-Layer Protocols: FTP and E ( & POP) Jasleen Kaur February 7, 2019 Application-Layer Protocols Outline Example client/ systems and their
More informationInterprocess communcation
Interprocess communcation slide 1 in Operating systems we find there are a number of mechanisms used for interprocess communication (IPC) the IPC mechanisms can be divided into two groups, those which
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 informationData Communication & Computer Networks MCQ S
Data Communication & Computer Networks MCQ S 1. The translates internet domain and host names to IP address. a) domain name system b) routing information protocol c) network time protocol d) internet relay
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 informationtransmission media and network topologies client/server architecture layers, protocols, and sockets
Network Programming 1 Computer Networks transmission media and network topologies client/server architecture layers, protocols, and sockets 2 Network Programming a simple client/server interaction the
More informationJava Network Programming
CPSC 360 Network Programming Java Network Programming Michele Weigle Department of Computer Science Clemson University mweigle@cs.clemson.edu January 24, 2005 http://www.cs.clemson.edu/~mweigle/courses/cpsc360
More informationSocket Programming. Dr. -Ing. Abdalkarim Awad. Informatik 7 Rechnernetze und Kommunikationssysteme
Socket Programming Dr. -Ing. Abdalkarim Awad Informatik 7 Rechnernetze und Kommunikationssysteme Before we start Can you find the ip address of an interface? Can you find the mac address of an interface?
More informationDifferent Layers Lecture 21
Different Layers Lecture 21 10/17/2003 Jian Ren 1 The Transport Layer 10/17/2003 Jian Ren 2 Transport Services and Protocols Provide logical communication between app processes running on different hosts
More informationInterprocess Communication Mechanisms
Interprocess Communication 1 Interprocess Communication Mechanisms shared storage These mechanisms have already been covered. examples: shared virtual memory shared files processes must agree on a name
More informationshared storage These mechanisms have already been covered. examples: shared virtual memory message based signals
Interprocess Communication 1 Interprocess Communication Mechanisms shared storage These mechanisms have already been covered. examples: shared virtual memory shared files processes must agree on a name
More informationChapter 9 Web Services
CSF661 Distributed Systems 分散式系統 Chapter 9 Web Services 吳俊興 國立高雄大學資訊工程學系 Chapter 9 Web Services 9.1 Introduction 9.2 Web services 9.3 Service descriptions and IDL for web services 9.4 A directory service
More informationNetworking. Chapter How to identify machines on internet Ports
Chapter 1 Networking Computer networks allow communication between multiple computers, regardless of their physical location. Internet provides us with an infrastructure that allows computers to interact
More informationCh.9 Internet Protocol: Error And Control Messages (ICMP)
CSC521 Communication Protocols 網路通訊協定 Ch.9 Internet Protocol: Error And Control Messages (ICMP) 吳俊興國立高雄大學資訊工程學系 Internetworking With TCP/IP, Vol I: Sixth Edition, Douglas E. Comer Outline 1 Introduction
More informationCOMMUNICATION PROTOCOLS: REMOTE PROCEDURE CALL (RPC)
COMMUNICATION PROTOCOLS: REMOTE PROCEDURE CALL (RPC) 1 2 CONVENTIONAL PROCEDURE CALL (a) (b) Parameter passing in a local procedure call: the stack before the call to read. The stack while the called procedure
More informationMemory-Mapped Files. generic interface: vaddr mmap(file descriptor,fileoffset,length) munmap(vaddr,length)
File Systems 38 Memory-Mapped Files generic interface: vaddr mmap(file descriptor,fileoffset,length) munmap(vaddr,length) mmap call returns the virtual address to which the file is mapped munmap call unmaps
More informationThe Application Layer: Sockets Wrap-Up
Overview The Application Layer: Sockets Wrap-Up CSC 249 February 13, 2017 qreview the Socket API v Defined for UNIX v Used by most operating systems qreview TCP and UDP examples and flow charts q Methods
More informationProblem Set 4 Due: Start of class, October 5
CS242 Computer Networks Handout # 8 Randy Shull September 28, 2017 Wellesley College Problem Set 4 Due: Start of class, October 5 Reading: Kurose & Ross, Sections 2.5, 2.6, 2.7, 2.8 Problem 1 [4]: Free-riding
More informationOutline. Challenges of the Internet. The Internet. CS4233 Network Programming Introduction to TCP/IP
Outline CS4233 Network Programming Introduction to TCP/IP Chen-Lung Chan Department of Computer Science National Tsing Hua University Introduction to the Internet OSI model TCP/IP model Network s Socket
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 informationBITS-Pilani Hyderabad Campus
BITS-Pilani Hyderabad Campus CS C461/IS C461/CS F303/ IS F303 (Computer Networks) Laboratory 4 Aim: To give an introduction to Socket Programming in TCP and UDP. TCP Socket Programming: A socket is the
More informationChapter 2 Application Layer. Lecture 4: principles of network applications. Computer Networking: A Top Down Approach
Chapter 2 Application Layer Lecture 4: principles of network applications Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Application Layer 2-1 Chapter
More informationLab 2 Solution. Jon Turner. CSE 473 Introduction to Computer Networks. (20 points) Place a copy of your source code for TcpMapServer here.
CSE 473 Introduction to Computer Networks Lab 2 Solution Jon Turner (20 points) Place a copy of your source code for TcpMapServer here. This program implements a TCP MapServer that stores (key,value) strings.
More informationCPSC 441 Tutorial - 11 UDP Socket Programming Department of Computer Science University of Calgary
CPSC 441 Tutorial - 11 UDP Programming Department of Computer Science University of Calgary TCP Vs UDP Input: receives packet (TCP receives byte stream ) Output: sends packet (TCP sends byte stream ) What
More information13. Internet Applications 최양희서울대학교컴퓨터공학부
13. Internet Applications 최양희서울대학교컴퓨터공학부 Internet Applications Telnet File Transfer (FTP) E-mail (SMTP) Web (HTTP) Internet Telephony (SIP/SDP) Presence Multimedia (Audio/Video Broadcasting, AoD/VoD) Network
More informationTransport layer Internet layer
Lecture 2-bis. 2 Transport Protocols As seen by the application developer point of view The primary (in principle unique) role of transport protocols!" # $ % "!"& Transport httpd 25 80 3211... My app 131.175.15.1
More informationComputer Networks. 2.Application Layer. László Böszörményi Computer Networks Application Layer - 1
Computer Networks 2.Application Layer László Böszörményi Computer Networks Application Layer - 1 Applications + App Layer Protocols Applications, app. processes E.g., E-mail, WWW, DNS, P2P file sharing,
More informationTH IRD EDITION. Python Cookbook. David Beazley and Brian K. Jones. O'REILLY. Beijing Cambridge Farnham Köln Sebastopol Tokyo
TH IRD EDITION Python Cookbook David Beazley and Brian K. Jones O'REILLY. Beijing Cambridge Farnham Köln Sebastopol Tokyo Table of Contents Preface xi 1. Data Structures and Algorithms 1 1.1. Unpacking
More informationA Client-Server Exchange
Socket programming A Client-Server Exchange A server process and one or more client processes Server manages some resource. Server provides service by manipulating resource for clients. 1. Client sends
More information6 Computer Networks 6.1. Foundations of Computer Science Cengage Learning
6 Computer Networks 6.1 Foundations of Computer Science Cengage Learning Objectives After studying this chapter, the student should be able to: 6.2 Describe network criteria, physical structures and categories
More informationNetworked Applications: Sockets. End System: Computer on the Net
Networked Applications: Sockets Topics Programmer s view of the Internet Sockets interface End System: Computer on the Net Internet Also known as a host 2 Page 1 Clients and Servers Client program Running
More informationAdvanced Web Programming
Advanced Web Programming 1 Advanced Web Programming what we have covered so far 2 The SocketServer Module simplified development of network servers a server tells clients the time 3 A Forking Server instead
More informationTransport Layer (TCP/UDP)
Transport Layer (TCP/UDP) Where we are in the Course Moving on up to the Transport Layer! Application Transport Network Link Physical CSE 461 University of Washington 2 Recall Transport layer provides
More information3. WWW and HTTP. Fig.3.1 Architecture of WWW
3. WWW and HTTP The World Wide Web (WWW) is a repository of information linked together from points all over the world. The WWW has a unique combination of flexibility, portability, and user-friendly features
More informationSC/CSE 3213 Winter Sebastian Magierowski York University CSE 3213, W13 L8: TCP/IP. Outline. Forwarding over network and data link layers
SC/CSE 3213 Winter 2013 L8: TCP/IP Overview Sebastian Magierowski York University 1 Outline TCP/IP Reference Model A set of protocols for internetworking The basis of the modern IP Datagram Exchange Examples
More informationCMPE 151: Network Administration. Servers
CMPE 151: Network Administration Servers Announcements Unix shell+emacs tutorial. Basic Servers Telnet/Finger FTP Web SSH NNTP Let s look at the underlying protocols. Client-Server Model Request Response
More informationLab Assignment 3 for ECE374
Lab Assignment 3 for ECE374 Posted: 02/25/18 Due: 03/08/18 In this lab, we ll take a quick look at the UDP and TCP transport protocol. Whenever possible you should hand in a Wireshark screenshot that you
More informationChapter 2. Application Layer. Chapter 2: Application Layer. Application layer - Overview. Some network apps. Creating a network appication
Mobile network Chapter 2 The Yanmin Zhu Department of Computer Science and Engineering Global ISP Home network Regional ISP Institutional network CSE Department 1 CSE Department 2 Application layer - Overview
More informationEsempi di programmi client/server in Python 3
Reti di Calcolatori I Prof. Roberto Canonico Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione Corso di Laurea in Ingegneria Informatica A.A. 2018-2019 Esempi di programmi client/server
More informationThe Application Layer: SMTP, FTP
The Application Layer: SMTP, FTP CS 352, Lecture 5 http://www.cs.rutgers.edu/~sn624/352-s19 Srinivas Narayana 1 Recap: Application-layer protocols DNS: lookup a (machine-readable) address using a (humanreadable)
More information