Xem mẫu
- www.sites.google.com/site/khaiphong
Giáo viên: Dương Khai Phong
Email: khaiphong@gmail.com
Lý thuyết: 45 tiết
Thực hành: 30 tiết
ĐH Công nghệ Thông tin
- www.sites.google.com/site/khaiphong
Nội dung môn học
1 Tổng quan lập trình java
2 Lập trình hướng đối tượng
3 Lập trình giao diện đồ họa
4 Lập trình mạng cơ bản
5 Ôn tập
ĐH Công nghệ Thông tin
- www.sites.google.com/site/khaiphong
LẬP TRÌNH MẠNG CĂN BẢN
A Giới thiệu lập trình mạng
B Các lớp hỗ trợ lập trình mạng Socket
C TCP Socket Programming
D UDP Socket Programming
E Remote Method Invocation (RMI)
ĐH Công nghệ Thông tin
- www.sites.google.com/site/khaiphong
LẬP TRÌNH MẠNG CĂN BẢN
A Giới thiệu lập trình mạng:
Các khái niệm liên quan đến lập trình mạng:
Mạng máy tính
Ports
Sockets và Ports
Mô hình Client – Server
Socket Programming
ĐH Công nghệ Thông tin
- www.sites.google.com/site/khaiphong
LẬP TRÌNH MẠNG CĂN BẢN
A Giới thiệu lập trình mạng:
Các khái niệm liên quan đến lập trình mạng:
Mạng máy tính
Ports
Sockets và Ports
Mô hình Client – Server
Socket Programming
ĐH Công nghệ Thông tin
- www.sites.google.com/site/khaiphong
TỔNG QUAN LẬP TRÌNH JAVA
A Giới thiệu lập trình mạng:
Mạng máy tính Mạng máy tính:
Mạng máy tính là tập hợp các máy tính hoặc các thiết bị
được nối với nhau bởi các đường truyền vật lý và theo
một kiến trúc nào đó.
Tầng ứng dụng
Standard apps
• HTTP
• FTP
• Telnet
User apps
Tầng vận chuyển
TCP
UDP
Programming Interface:
• Sockets
Tầng mạng
IP
Tầng kết nối
Device drivers
ĐH Công nghệ Thông tin
- www.sites.google.com/site/khaiphong
TỔNG QUAN LẬP TRÌNH JAVA
A Giới thiệu lập trình mạng:
Mạng máy tính Mạng máy tính:
Application TCP (Tranmission Control
(http,ftp,telnet,…) Protocol) là giao thức vận
chuyển dựa trên kết nối logic
Transport trực tiếp giữa 2 máy tính.
(TCP, UDP,..)
Ví dụ:
Network HTTP
(IP,..) FTP
Telnet
Link
(device driver,..)
ĐH Công nghệ Thông tin
- www.sites.google.com/site/khaiphong
TỔNG QUAN LẬP TRÌNH JAVA
A Giới thiệu lập trình mạng:
Mạng máy tính Mạng máy tính:
Application UDP (User Datagram
(http,ftp,telnet,…) Protocol) là giao thức vận
chuyển phi kết nối thực hiện
Transport gửi các packets gọi là
(TCP, UDP,..) datagrams từ máy này sang
máy khác.
Network
(IP,..) Ví dụ:
Clock server
Link Ping
(device driver,..)
ĐH Công nghệ Thông tin
- www.sites.google.com/site/khaiphong
TỔNG QUAN LẬP TRÌNH JAVA
A Giới thiệu lập trình mạng:
Mạng máy tính Ports:
TCP và UDP sử dụng port để xác định chương trình sẽ
Ports nhận dữ liệu khi đến 1 máy tính.
P
o TCP
server
r Client
t
app app app app
port port port port
TCP or UDP
Packet
Data port# data
ĐH Công nghệ Thông tin
- www.sites.google.com/site/khaiphong
TỔNG QUAN LẬP TRÌNH JAVA
A Giới thiệu lập trình mạng:
Mạng máy tính Ports:
Port là 1 con số nguyên
Ports
Một số port đã được dành riêng cho các dịch vụ mạng
phổ biến:
ftp 21/tcp
telnet 23/tcp
smtp 25/tcp
login 513/tcp
Nên dùng giá trị lớn hơn 1024
ĐH Công nghệ Thông tin
- www.sites.google.com/site/khaiphong
TỔNG QUAN LẬP TRÌNH JAVA
A Giới thiệu lập trình mạng:
Mạng máy tính
Ports
Sockets và Ports
any port agreed port
socket socket
message
client server
other ports
Internet address = 138.37.94.248 Internet address = 138.37.88.249
ĐH Công nghệ Thông tin
- www.sites.google.com/site/khaiphong
TỔNG QUAN LẬP TRÌNH JAVA
A Giới thiệu lập trình mạng:
Mạng máy tính
Ports
Sockets và Ports
Mô hinh Client và Server
Server machine
Client
Server
Network
Client machine
a client, a server, and network
ĐH Công nghệ Thông tin
- www.sites.google.com/site/khaiphong
TỔNG QUAN LẬP TRÌNH JAVA
A Giới thiệu lập trình mạng:
Mạng máy tính Socket :
Điểm giao tiếp giữa máy tính và mạng
Ports
Được dùng để gửi và nhận dữ liệu
Sockets và Ports Được hỗ trợ bỡi nhiều hệ thống và ngôn
Mô hinh Client và Server ngữ lập trình
Socket Programming Phân loại: Server (passive) socket,
client (active) socket và UDP socket
sockets (end points)
logical connection
ĐH Công nghệ Thông tin
- www.sites.google.com/site/khaiphong
TỔNG QUAN LẬP TRÌNH JAVA
B Các lớp hỗ trợ lập trình mạng Socket:
Gói java.net chứa tất cả các lớp cần thiết cho việc lập
trình mạng (Java Sockets Programming)
Cú pháp khai báo:
import java.net.*;
Các lớp cơ bản trong gói java.net:
InetAddress
Socket
ServerSocket
DatagramSocket
DatagramPacket
ĐH Công nghệ Thông tin
- www.sites.google.com/site/khaiphong
TỔNG QUAN LẬP TRÌNH JAVA
B Các lớp hỗ trợ lập trình mạng Socket:
Lớp InetAddress:
Công dụng:
Biểu diễn một địa chỉ Internet, các địa chỉ IP trong một ứng dụng mạng sử
dụng Java.
Lớp này được sử dụng bởi hầu hết các lớp mạng, bao gồm Socket,
ServerSocket, URL, DatagramSocket, DatagramPacket,…
Cú pháp sử dụng:
Sử dụng phương thức static để tạo ra đối tượng InetAddress.
getByName(String host)
getAllByName(String host)
getLocalHost()
Ví dụ:
InetAddress x = InetAddress.getByName("www.uit.edu.vn");
Ném ra biệt lệ UnknownHostException
ĐH Công nghệ Thông tin
- www.sites.google.com/site/khaiphong
TỔNG QUAN LẬP TRÌNH JAVA
B Các lớp hỗ trợ lập trình mạng Socket:
Ví dụ: viết chương trình truy xuất địa chỉ IP
import java.net.InetAddress;
import java.net.UnknownHostException;
public class net_lookup {
public static void main(String[] args) {
String hostname=args[0];
try {
InetAddress a = InetAddress.getByName(hostname);
System.out.println(hostname + ":" + a.getHostAddress());
}
catch (UnknownHostException e) {
System.out.println("No address found for " + hostname);
}
}
}
ĐH Công nghệ Thông tin
- www.sites.google.com/site/khaiphong
TỔNG QUAN LẬP TRÌNH JAVA
C TCP Socket Programming:
Các đối tượng cơ bản trong lập trình mạng TCP Socket
Server sockets
• Chờ kết nối từ mạng
• Tạo ra từ lớp java.net.ServerSocket
Client sockets
• Dùng để gửi và nhận dữ liệu
• Tạo ra từ lớp java.net.Socket
server socket
connection request
client socket
ĐH Công nghệ Thông tin
- www.sites.google.com/site/khaiphong
TỔNG QUAN LẬP TRÌNH JAVA
C TCP Socket Programming:
Tạo và sử dụng Server Socket
Type Description
Constructors
ServerSocket(int port) khởi tạo đối tượng
Methods
accept() chờ yêu cầu kết nối và tạo socket
close() dừng việc chờ yêu cầu kết nối
server socket
connection request
client socket
ĐH Công nghệ Thông tin
- www.sites.google.com/site/khaiphong
TỔNG QUAN LẬP TRÌNH JAVA
B Các lớp hỗ trợ lập trình mạng Socket:
Ví dụ: tạo ServerSocket
try {
ServerSocket server = new ServerSocket(8888);
while (true) {
Socket incoming = server.accept(); // obtain a client socket
// handle client request by reading from and writing to the
socket …
}
} catch (IOException e) {
// handle exception on creating a server socket
}
ĐH Công nghệ Thông tin
- www.sites.google.com/site/khaiphong
TỔNG QUAN LẬP TRÌNH JAVA
C TCP Socket Programming:
Tạo và sử dụng Client Socket
Type Description
Tạo client sockets
Phía client:
Socket(String host, int port) khởi tạo đối tượng
Phía server:
accept() của lớp ServerSocket
Methods
getInputStream() trả về InputStream để nhận dữ liệu
getOutputStream() trả về OutputStream để gửi dữ liệu
close() đóng kết nối
ĐH Công nghệ Thông tin
nguon tai.lieu . vn