network programming 授課教師 : 詹益禎 中文課名 : 網路程式設計 學分時數 : 3...

22
Network Programming Network Programming 授授授授 : 授授授 授授授授 : 授授授授授授 授授授授 : 3 授授3 授授 授授 : 授授授 授授授 授授 : 32310 授授授授 : 9:05~12:00 (Wed.)

Upload: baldwin-watson

Post on 19-Dec-2015

268 views

Category:

Documents


0 download

TRANSCRIPT

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

Network ProgrammingNetwork Programming

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

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

NCUE CSIE Y. C. Chan Network Programming - Fall 2008 2

ObjectiveObjective

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.

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

NCUE CSIE Y. C. Chan Network Programming - Fall 2008 3

MaterialMaterial

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.

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

NCUE CSIE Y. C. Chan Network Programming - Fall 2008 4

Grading PolicyGrading Policy

Quiz: 5 % (10/21) Midterm: 25% (11/11) Final: 30% (1/13) Homework: 40% Class Participation: 5~10% (bonus)

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

NCUE CSIE Y. C. Chan Network Programming - Fall 2008 5

OutlineOutline 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

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

NCUE CSIE Y. C. Chan Network Programming - Fall 2008 6

Why Networked JavaWhy Networked Java

What can a network program do ? Security But wait ! There’s more!

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

NCUE CSIE Y. C. Chan Network Programming - Fall 2008 7

Basic Network ConceptsBasic Network Concepts

Networks The Layers of a Network IP, TCP, and UDP The Internet The Client/Server Model Internet Standards

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

NCUE CSIE Y. C. Chan Network Programming - Fall 2008 8

Basic Web ConceptsBasic Web Concepts

URIs HTML, SGML, and XML HTTP MIME Media Types Server Side Programs

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

NCUE CSIE Y. C. Chan Network Programming - Fall 2008 9

Introduction to Java ProgrammingIntroduction to Java Programming

The first Java program Classes and Objects Control Statements Files

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

NCUE CSIE Y. C. Chan Network Programming - Fall 2008 10

StreamsStreams

Output Streams Input Streams Filter Streams Readers and Writers

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

NCUE CSIE Y. C. Chan Network Programming - Fall 2008 11

ThreadsThreads

Running Threads Returning Information from a Thread Synchronization Deadlock Thread Scheduling Thread Pools

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

NCUE CSIE Y. C. Chan Network Programming - Fall 2008 12

Looking Up Internet AddressesLooking Up Internet Addresses

The InetAddress Class Inet4Address and Inet6Address The NetworkInterface Class Some Useful Programs

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

NCUE CSIE Y. C. Chan Network Programming - Fall 2008 13

Sockets for ClientsSockets for Clients

Socket Basics Investigating Protocols with Telnet The Socket Class Socket Exceptions Socket Addresses Examples

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

NCUE CSIE Y. C. Chan Network Programming - Fall 2008 14

Sockets for ServersSockets for Servers

The ServerSocket Class Some Useful Servers

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

NCUE CSIE Y. C. Chan Network Programming - Fall 2008 15

Secure SocketsSecure Sockets

Secure Communications Creating Secure Client Sockets Methods of the SSLSocket Class Creating Secure Server Sockets Methods of the SSLServerSocket Class

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

NCUE CSIE Y. C. Chan Network Programming - Fall 2008 16

Non-Blocking I/ONon-Blocking I/O

An Example Client An Example Server Buffers Channels Readiness Selection

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

NCUE CSIE Y. C. Chan Network Programming - Fall 2008 17

UDP Datagrams and SocketsUDP Datagrams and Sockets

The UDP Protocol The DatagramPacket Class The DatagramSocket Class Some Useful Applications DatagramChannel

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

NCUE CSIE Y. C. Chan Network Programming - Fall 2008 18

Multicast SocketsMulticast Sockets

What Is a Multicast Socket? Working with Multicast Sockets Two Simple Examples

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

NCUE CSIE Y. C. Chan Network Programming - Fall 2008 19

Remote Method InvocationRemote 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

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

NCUE CSIE Y. C. Chan Network Programming - Fall 2008 20

URLs and URIsURLs and URIs

The URL Class The URLEncoder and URLDecoder Classes The URI Class Proxies Communicating with Server-Side Programs Thro

ugh GET Accessing Password-Protected Sites

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

NCUE CSIE Y. C. Chan Network Programming - Fall 2008 21

HTML in SwingHTML in Swing

HTML on Components JEditorPane Parsing HTML Cookies

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

NCUE CSIE Y. C. Chan Network Programming - Fall 2008 22

Welcome for joining the

course.