Tải bản đầy đủ (.doc) (9 trang)

mô hình áp dụng.doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (54.12 KB, 9 trang )

I/ Mô hình áp dụng:
 Chương trình minh họa sử dụng mô hình 3 lớp Tree-Tier Client / Server vì
mô hình này có nhiều ưu điểm, giúp chương trình được chia xẻ giữa lớp
client và lớp middle ware khiến việc chuyên sâu dễ dàng hơn.
 Chương trình cho phép nhiều client kết nối đến một server (middle ware)
hay ngược lại 1 client kết nối đến nhiều server, đồng thời trên mỗi client lại
cho phép có nhiều kết nối đến server. Giao tiếp giữa client và middle ware
dựa trên công cụ Winsock, giao tiếp giữa lớp middle ware và server dựa
trên sự hổ trợ mới nhất của Visual Basic 6 về cơ sở dữ liệu đó là dùng OLE
DB.
OLE DB
Winsock
CLIENT
CLIENT
SERVER

Middle

ware
ACCESS
SQL
Server
ORACLE
Server
CLIENT
II/ Giao tiếp giữa Client và Server (Middle ware )
♦ Middle ware
 Lớp Middle Ware thực hiện các chức năng rất quan trọng không thể
thiếu trong mô hình Client – Server .
 Visual Basic cung cấp công cụ Winsock để xây dựng ứng dụng Client /
Server nó cho phép dùng 2 loại giao thức là UDP và TCP/IP. Thông


dụng nhất là dùng TCP/IP vì phù hợp nhu cầu nhiều user kết nối.
 Ứng dụng server phải thiết lập thông số Localport để client có thể kết
nối đến . Sau đó dùng phương pháp Listen để lắng nghe yêu cầu đến.
Khi có yêu cầu đến, sự kiện ConnectionRequest xảy ra, dùng thuộc
tính Accept để chấp nhận kết nối.
 Ứng dụng client phải thiết lập thông số RemotePort = LocalPort mà
server lắng nghe và phải biết đòa chỉ IP hay tên của máy server để
gán vào RemoteHost. Sau đó dùng phương pháp Connect.
 Sau khi đường nối được thiết lập, client và server có thể dể dàng trao
đổi dữ liệu qua lại, dùng SendData, GetData để gởi và nhận dữ liệu.
Sự kiện DataArrival sẽ xảy ra khi có dữ liệu đến.
 Khi đường truyền đóng lại thì sự kiện Close xảy ra, hoặc khi xảy ra lỗi
thì sẽ xuất hiện sự kiện Error.
♦ winsock
Properties
 BytesReceied Property : thông báo số bytes hiện thời nhận được
trong buffer. Kết quả trả về là một số kiểu long integer.
 LocalHostName Property : trả về tên của host cục bộ. Kết quả trả
về là một chuỗi.
 LocalIP Property : trả về đòa chỉ IP của host cục bộ. Kết quả trả về
là một chuỗi
 LocalPort Property : trả về hay thiết lập một cổng kết nối dùng cho
server. Kết quả trả về là một số kiểu long integer.
 Protocol Property : trả về hay thiết lập chuẩn sử dụng UDP hay
TCP.
 RemoteHost Property : trả về hay thiết lập đòa chỉ IP kết nối đến
một host. Kết quả trả về là một chuỗi.
 RemotePort Property : trả về hay thiết lập một cổng kết nối dùng
cho client. Kết quả trả về là một số kiểu long integer.
 State Property: trả về trạng thái điều khiển thông qua các phương

pháp và sự kiện.
Methods
 Accept Method : dùng cho ứng dụng Server TCP. Chấp nhận một
kết nối đến Client, khi winsock đang ở trạng thái lắng nghe và xảy
ra sự kiệnConnecttionRequest.
 Close Method : dùng để ngắt một kết nối theo chuẩn TCP của ứng
dụng Server hay Client.
 GetData Method : dùng để lấy lại khối dữ liệu từ buffer và chứa nó
trong một biến.
 Listen Method : chờ đợi yêu cầu kết nối từ phía Client .
 SendData Method :truyền dữ liệu qua lại giữa Client và Server
dưới dạng chuỗi.
Events
 Close Event : sự kiện này xuất hiện khi đường truyền bò ngắt.
 Connect Event : sự kiện này xuất hiện sau khi đường truyền được
thiết lập.
 ConnectionRequest Event : sự kiện này xuất hiện khi Server nhận
được yêu cầu kết nối từ phía Client.
 DataArrial Event : sự kiện này xuất hiện khi dữ liệu đến.
Settings for the State Property (winsock)
Constant Value Description
sckClosed 0 Default Closed
sckOpen 1 Open
sckListening 2 Listening
sckConnectionPending 3 ConnectionPending
sckResolvingHost 4 ResolvingHost
sckHostResolved 5 Host Resolved
sckConnecting 6 Connecting
sckConnected 7 Connected
sckClosing 8 Peer is closing the connection

sckError 9 Error
♦ Các loại frame
 Tuy nhiên, do winsock không hổ trợ truyền trực tiếp các đối tượng nên
phát sinh nhu cầu sử dụng các loại frame để trao đổi thông tin dưới
dạng chuỗi :
• Mở đầu một frame là 1 byte để xác đònh loại frame (ID) , kế tiếp là
byte chứa chiều dài của khối thông tin, cuối cùng là khối thông tin.
ID
Chiều dài khối 1
Khối 1 Khối n
Chiều dài khối n
....
• Tuy nhiên do byte xác đònh chiều dài của khối thông tin chỉ tối đa là
255 nên với trường hợp khối thông tin lớn thì ta phải đưa chiều dài của
nó vào trong dấu “[ ]“. Loại frame này có thể là một thành phần của
loại frame ở trên.
...
ID
Chiều dài khối nhỏ
Khối nhỏ
Khối n
[ Chiều dài khối lớn ]
• Khối thông tin có thể bao gồm những khối thông tin nhỏ hơn, lúc này
ta sẽ dùng dấu chấm “.” để phân cách.
• Cuối cùng là loại frame chỉ chứa ID và chuỗi thông tin.
 Server khởi động trước và kết nối tới Oracle server, Sql server, lấy
các thông tin về user, database và lưu trữ lại. Quá trình này diển ra tự
động, nếu vì lý do nào đó việc kết nối này không thành công thì ta
phải kết nối bằng tay, nếu không mọi yêu cầu từ phía client sẽ bò từ
chối. Có thể sửa đổi các thông tin kết nối thông qua một bảng gồm các

cột : Driver, host name, user ID, password, database. Ngoài ra trong
quá trình chạy, server còn đònh kỳ gởi các câu truy vấn tớùi các server
để refresh các thông tin cho phù hợp, đồng thời còn có tác dụng xem
các server có bò ngắt (down) chưa, việc làm này tránh cho ứng dụng bò
treo.
ID
Khối thông tin

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×