240 likes | 400 Views
Network Programming. 授課教師 : 詹益禎 中文課名 : 網路程式設計 學分時數 : 3 學分\ 3 小時 助教 : 李宏杰、趙振宣 教室 : 32310 上課時間 : 9:05~12:00 (Wed.). Objective.
E N D
Network Programming 授課教師 : 詹益禎 中文課名 : 網路程式設計 學分時數 : 3學分\3小時 助教 :李宏杰、趙振宣 教室: 32310 上課時間 : 9:05~12:00 (Wed.)
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
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
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
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
Why Networked Java • What can a network program do ? • Security • But wait ! There’s more! Network Programming - Fall 2008
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
Basic Web Concepts • URIs • HTML, SGML, and XML • HTTP • MIME Media Types • Server Side Programs Network Programming - Fall 2008
Introduction to Java Programming • The first Java program • Classes and Objects • Control Statements • Files Network Programming - Fall 2008
Streams • Output Streams • Input Streams • Filter Streams • Readers and Writers Network Programming - Fall 2008
Threads • Running Threads • Returning Information from a Thread • Synchronization • Deadlock • Thread Scheduling • Thread Pools Network Programming - Fall 2008
Looking Up Internet Addresses • The InetAddress Class • Inet4Address and Inet6Address • The NetworkInterface Class • Some Useful Programs Network Programming - Fall 2008
Sockets for Clients • Socket Basics • Investigating Protocols with Telnet • The Socket Class • Socket Exceptions • Socket Addresses • Examples Network Programming - Fall 2008
Sockets for Servers • The ServerSocket Class • Some Useful Servers Network Programming - Fall 2008
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
Non-Blocking I/O • An Example Client • An Example Server • Buffers • Channels • Readiness Selection Network Programming - Fall 2008
UDP Datagrams and Sockets • The UDP Protocol • The DatagramPacket Class • The DatagramSocket Class • Some Useful Applications • DatagramChannel Network Programming - Fall 2008
Multicast Sockets • What Is a Multicast Socket? • Working with Multicast Sockets • Two Simple Examples Network Programming - Fall 2008
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
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
HTML in Swing • HTML on Components • JEditorPane • Parsing HTML • Cookies Network Programming - Fall 2008
Welcome for joining the course. Network Programming - Fall 2008