t5e[1].lap trinh socket 2

21
 TÌM HIU MÔ HÌNH LP TRÌNH MNG SOCKET JAVA SINH VIÊN : TRN VĂN HOAN NGUYN VĂN HU 

Upload: deptraiphongcach1987

Post on 30-May-2018

230 views

Category:

Documents


0 download

TRANSCRIPT

8/14/2019 T5e[1].Lap Trinh Socket 2

http://slidepdf.com/reader/full/t5e1lap-trinh-socket-2 1/21

TÌM HIỂU MÔ HÌNH LẬPTRÌNH MẠNG SOCKET JAVA

SINH VIÊN :TRẦN VĂN HOAN NGUYỄN VĂN HẬU

8/14/2019 T5e[1].Lap Trinh Socket 2

http://slidepdf.com/reader/full/t5e1lap-trinh-socket-2 2/21

Nội dung

Giới thiệu lập trình mạngTruyền thông mạng, tính toán client-server;Socket API cho lập trình các ứng dụng mạng

Xây dựng ứng dụng CHAT theo mô hìnhClient-Server

8/14/2019 T5e[1].Lap Trinh Socket 2

http://slidepdf.com/reader/full/t5e1lap-trinh-socket-2 3/21

Kiến trúc mạng Internetapplication:Hỗ trợ các ứng dụng mạng

ftp, smtp, httptransport: Chuyển dữ liệu đầu cuối(host-host)

tcp, udpnetwork:Định tuyến các gói tin(datagrams) từ nguồn tới đích

ip, routing protocolslink:Chuyển dữ liệu theo các chặng

ppp, ethernetphysical: Các tín hiệu bit dữ liệu trênđường truyền

application

transport

network

link

physical

8/14/2019 T5e[1].Lap Trinh Socket 2

http://slidepdf.com/reader/full/t5e1lap-trinh-socket-2 4/21

Lập trình ứng dụng mạng

Người lập trình có thể tạo các ứng dụng mạng mà khôngcần biết chi tiết hoạt động của các giao thức truyềnthông bên dưới.Mạng chỉ là môi trường truyền dữ liệu (thụ động), xử lýdữ liệu thực sự trong các chương trình ứng dụng.Chỉ có các chương trình ứng dụng giao tiếp với nhauhiểu được khuôn dạng và ngữ nghĩa thông điệpTuy nhiên, tùy từng ứng dụng sử dụng các giao thức hỗ

trợ thích hợp bên dưới (giao thức giao vận) -> người lậptrình cần xác định khi lập trình ứng dụng

8/14/2019 T5e[1].Lap Trinh Socket 2

http://slidepdf.com/reader/full/t5e1lap-trinh-socket-2 5/21

Các giao thức giao vận trên Internet

TCP : Phân phát tin cậy, đúngthứ tự (TCP)

Chống tắc nghẽn (congestion)Kiểm sóat luồng (flow control)Thiết lập kết nối (connectionsetup)VD các ƯD: HTTP, FTP

UDP : Phân phát không đảmbảo tin cậy, đúng thứ tự -> nỗlực tốt nhất(“best-effort”)

VD các ƯD: Audio, Video thờigian thực

applicationtransportnetworkdata linkphysical

applicationtransportnetworkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysicalnetwork

data linkphysical

l o g i c a l e n d - e n d t r a n s p o r t

8/14/2019 T5e[1].Lap Trinh Socket 2

http://slidepdf.com/reader/full/t5e1lap-trinh-socket-2 6/21

Communication port (Socket)

Cổng (port) là cơ chế cho phép dữ liệu đượctruyền đến đúng ứng dụng đang chạy trên máytính

Một kết nối vật lý, nhiều ứng dụng sử dụngMỗi ứng dụng gắn với một cổng logic (số 16 bit(0..65535))

Cổng 0.. 1023 bị hạn chế cho các dịch vụ phổ biếnHTTP, FTPCác cổng còn lại dành cho ứng dụng người dùng

Việc gán cổng thực hiện bởi chương trình hoặchệ điều hành tùy theo ứng dụng

8/14/2019 T5e[1].Lap Trinh Socket 2

http://slidepdf.com/reader/full/t5e1lap-trinh-socket-2 7/21

Socket API cho lập trình mạngSocket: Điểm cuối trongmột kết nối trao đổi thôngtin giữa hai chương trìnhứng dụng qua mạng.

Định danh socket (địnhdanh ứng dụng) là sốcổng truyền thôngSocket API (ApplicationProgram Interface), Tậpcác hàm giao diện giữachương trình ứng dụngvà các giao thức truyềnthông (HĐH định nghĩacác API)

8/14/2019 T5e[1].Lap Trinh Socket 2

http://slidepdf.com/reader/full/t5e1lap-trinh-socket-2 8/21

Khuôn mẫu truyền thôngTính toán Client-Server

Cơ chế: Một ứng dụng bắt đầu trước, đợi ứngdụng khác liên lạc. Ứng dụng thứ 2 phải biết “vịtrí” ứng dụng thứ 1 đang đợi (máy tính, ứngdụng)

Chương trình đợi: Server Chương trình liên lạc: Client

Khuôn mẫu truyền thông:Ứng dụng Server khởi động và đợi liên lạc từ clientClient liên lạc với Server (Computer, Application)Client và Server trao đổi dữ liệuKết thúc, client và server gửi tín hiệu end-of-file

8/14/2019 T5e[1].Lap Trinh Socket 2

http://slidepdf.com/reader/full/t5e1lap-trinh-socket-2 9/21

Socket hỗ trợ TCP và UDPTCPTCP UDPUDP

8/14/2019 T5e[1].Lap Trinh Socket 2

http://slidepdf.com/reader/full/t5e1lap-trinh-socket-2 10/21

Minh họa WinSock API cho HĐHWindows - Stream Socket

8/14/2019 T5e[1].Lap Trinh Socket 2

http://slidepdf.com/reader/full/t5e1lap-trinh-socket-2 11/21

Minh họa WinSock API cho HĐHWindows – Datagram Socket

8/14/2019 T5e[1].Lap Trinh Socket 2

http://slidepdf.com/reader/full/t5e1lap-trinh-socket-2 12/21

Nền tảng

Windows: MFC Csocket, CsocketFileVisual C++ 6.0,…Java: Java.net.Socket, java.net.ServerSocket

UNIX: Socket++

8/14/2019 T5e[1].Lap Trinh Socket 2

http://slidepdf.com/reader/full/t5e1lap-trinh-socket-2 13/21

Xây dựng ứng dụng CHATtheo mô hình Client-Server

-Phân tích hệ thống-Thiết kế hệ thống-Xây dựng chương trình

8/14/2019 T5e[1].Lap Trinh Socket 2

http://slidepdf.com/reader/full/t5e1lap-trinh-socket-2 14/21

Phân tích hệ thống

Server mở cổng và lắng nghe trên cổng đóClient kết nối và đăng nhập vào Server với cổngđã mở thông qua Nickname và Password

Các Client trao đổi thông điệp với nhau:Client gửi gửi thông điệp tới Server,Server chuyển thông điệp tới Client nhận

Client kết nối thành công sẽ được Server thôngbáo tới tất cả Client kết nối trước đóClient không tham gia nữa: Server đóng kết nối,thông báo cho các Client khác

8/14/2019 T5e[1].Lap Trinh Socket 2

http://slidepdf.com/reader/full/t5e1lap-trinh-socket-2 15/21

Thiết kế hệ thốngCác Actor

ClientServer

Các khung nhìn Đăng nhập

Trao đổi thông điệpKết thúc

8/14/2019 T5e[1].Lap Trinh Socket 2

http://slidepdf.com/reader/full/t5e1lap-trinh-socket-2 16/21

Khung nhìn: Đăng nhập

8/14/2019 T5e[1].Lap Trinh Socket 2

http://slidepdf.com/reader/full/t5e1lap-trinh-socket-2 17/21

Khung nhìn: Trao đổi thông điệp

8/14/2019 T5e[1].Lap Trinh Socket 2

http://slidepdf.com/reader/full/t5e1lap-trinh-socket-2 18/21

Khung nhìn: Kết thúc

8/14/2019 T5e[1].Lap Trinh Socket 2

http://slidepdf.com/reader/full/t5e1lap-trinh-socket-2 19/21

Sơ đồ cộng tác

8/14/2019 T5e[1].Lap Trinh Socket 2

http://slidepdf.com/reader/full/t5e1lap-trinh-socket-2 20/21

Biểu đồ lớp

8/14/2019 T5e[1].Lap Trinh Socket 2

http://slidepdf.com/reader/full/t5e1lap-trinh-socket-2 21/21

XIN CÁM ƠN CÔ GIÁO BỘ MÔNMẠNG MÁY TÍNH

Đã giao bài tập lớn cho nhóm tìm hiểu vềđề tài.Qua tìm hiểu bài tập lớn chúng ta tìm hiểuthêm được nhiều kiến thức mới.Chúc cả lớp hoàn thành bài tập lớn tốt .

Chúng em xin chân thành cảm ơn cô giáoTrương Diệu Linh.