1 / 22

Network Programming

Network Programming. 授課教師 : 詹益禎 中文課名 : 網路程式設計 學分時數 : 3 學分\ 3 小時 助教 : 李宏杰、趙振宣 教室 : 32310 上課時間 : 9:05~12:00 (Wed.). Objective.

Download Presentation

Network Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Network Programming 授課教師 : 詹益禎 中文課名 : 網路程式設計 學分時數 : 3學分\3小時 助教 :李宏杰、趙振宣 教室: 32310 上課時間 : 9:05~12:00 (Wed.)

  2. Objective • This course will provides practical guidance on the essential aspects of network programming with Java, including the concepts of Web, files, streams, threads, the use of varied sockets, non-blocking I/O, URLConnections, protocol handlers, content handlers and Remote method invocation. The aim is to enable students to pick up these vital skill and be capable of writing varied network programs with Java. Network Programming - Fall 2008

  3. Material • Elliotte R. Harold, “Java Network Programming”, 3rd Edition, O’Reilly, 2004. • H. M. Deitel and P. J. Deitel, “Java How to Program”, 8th Edition, Prentice Hall, 2009. • Jan Graba, “An Introduction to network programming with Java”, 1st Edition, Addison Wesley, 2003. Network Programming - Fall 2008

  4. Grading Policy • Quiz: 5 % (10/21) • Midterm: 25% (11/11) • Final: 30% (1/13) • Homework: 40% • Class Participation: 5~10% (bonus) Network Programming - Fall 2008

  5. Outline • Why Networked Java • Basic Network Concepts • Basic Web Concepts • Introduction to Java Programming • Streams • Threads • Looking Up Internet Addresses • Sockets for Clients • Sockets for Servers • Secure Sockets • Non-Blocking I/O • UDP Datagrams and Sockets • Multicast Sockets • Remote Method Invocation • URLs and URIs • HTML in Swing Network Programming - Fall 2008

  6. Why Networked Java • What can a network program do ? • Security • But wait ! There’s more! Network Programming - Fall 2008

  7. Basic Network Concepts • Networks • The Layers of a Network • IP, TCP, and UDP • The Internet • The Client/Server Model • Internet Standards Network Programming - Fall 2008

  8. Basic Web Concepts • URIs • HTML, SGML, and XML • HTTP • MIME Media Types • Server Side Programs Network Programming - Fall 2008

  9. Introduction to Java Programming • The first Java program • Classes and Objects • Control Statements • Files Network Programming - Fall 2008

  10. Streams • Output Streams • Input Streams • Filter Streams • Readers and Writers Network Programming - Fall 2008

  11. Threads • Running Threads • Returning Information from a Thread • Synchronization • Deadlock • Thread Scheduling • Thread Pools Network Programming - Fall 2008

  12. Looking Up Internet Addresses • The InetAddress Class • Inet4Address and Inet6Address • The NetworkInterface Class • Some Useful Programs Network Programming - Fall 2008

  13. Sockets for Clients • Socket Basics • Investigating Protocols with Telnet • The Socket Class • Socket Exceptions • Socket Addresses • Examples Network Programming - Fall 2008

  14. Sockets for Servers • The ServerSocket Class • Some Useful Servers Network Programming - Fall 2008

  15. Secure Sockets • Secure Communications • Creating Secure Client Sockets • Methods of the SSLSocket Class • Creating Secure Server Sockets • Methods of the SSLServerSocket Class Network Programming - Fall 2008

  16. Non-Blocking I/O • An Example Client • An Example Server • Buffers • Channels • Readiness Selection Network Programming - Fall 2008

  17. UDP Datagrams and Sockets • The UDP Protocol • The DatagramPacket Class • The DatagramSocket Class • Some Useful Applications • DatagramChannel Network Programming - Fall 2008

  18. Multicast Sockets • What Is a Multicast Socket? • Working with Multicast Sockets • Two Simple Examples Network Programming - Fall 2008

  19. Remote Method Invocation • What Is Remote Method Invocation? • Implementation • Loading Classes at Runtime • The java.rmi Package • The java.rmi.registry Package • The java.rmi.server Package Network Programming - Fall 2008

  20. URLs and URIs • The URL Class • The URLEncoder and URLDecoder Classes • The URI Class • Proxies • Communicating with Server-Side Programs Through GET • Accessing Password-Protected Sites Network Programming - Fall 2008

  21. HTML in Swing • HTML on Components • JEditorPane • Parsing HTML • Cookies Network Programming - Fall 2008

  22. Welcome for joining the course. Network Programming - Fall 2008

More Related