RemotePort : trả về/ thiết lập số hiệu cổng sẽ được kết nối đến máy từ xa. RemoteHost : trả về/ thiết lập tên[r]
Trang 1Chương 4
LẬP TRÌNH MẠNG VỚI VISUAL BASIC
(WinSock Control)
Noi dung
L1 Giới thiệu Winsock control L1 Các thuộc tính
L1 Các phương thức L1 Các sự kiện
L1 Các mô hình lập trình với winsock
control
Giới thiệu Winsock control
L1 Là ActiveX Control cùng cấp các dịch
vụ mạng TCP và UDP dưới dạng các thuộc tính, phương thức và sự kiện
1 Có thể sử dụng trong các môi trường
Microsoft Access, Visual Basic, Visual C++, Visual Fox
O TCP (Transfer Control Protocol): cho phép tạo và duy trì kết nối đến máy tính ở xa, cả hai máy tính có thể truyền nhận dữ liệu qua kết nối này
O Client can biết tên hoặc địa chỉ IP cua Server(RemoteHost) và số hiệu cổng (RemotePort)
mà Server dang “Jang nghe” dé goi ham Connect
O Server can thiết lập số hiệu cổng (LocalPort) mà minh sé “lang nghe”, dé goi ham Listen, khi có sự kiện client yêu cầu kết nối thì gọi hàm Accept để tạo lập kết nối
O Khi Client va Server đã có kết nối thì có thể sử dụng
các hàm SendData và GetData để truyền nhận dữ liệu
Trang 2
Khái niệm cơ bản về UDP
L1 UDP (User DataGram Protocol): là giao
thức không hướng kết nối, khác với TCP,
không cần thiết lập kết nối trước rôi mới truyền nhận dữ liệu
O Để gửi dữ liệu đến máy ở xa, cần thiết lập
RemotePort là số hiệu cổng mà máy ở xa
đang gắn kết, RemoteHost là địa chỉ của
máy ở xa
1 Muốn nhận dữ liệu ở số hiệu cổng nào cần
thiết lập ở LocalPort và sử dụng hàm Bind
Các thuộc tính(properties)
L1 Protocol: trả về/ thiết lập giao thức hiện tại đang sử dụng
# 0-sckTCPProtocol: sử dụng giao thức TCP
m 1-sckUDPProtocol: sử dụng giao thức UDP
1 LocalPort: trả về/ thiết lập số hiệu cổng
được dùng trên máy cục bộ
L1 LocalHostName:(chỉ đọc) trả vê tên máy
cục bộ
L1 LocalTP: (chỉ đọc) trả về địa chỉ TP của máy
cục bộ
Các thuộc tính(2)
L1 RemotePort: trả về/ thiết lập so
hiệu công sẽ được kết nối đến máy từ
xa
L RemoteHost: trả vô/ thiết lập tên
may tu xa sé kết nối đến
L1 RemoteHostTP: (chỉ đọc) trả về địa
chi IP cua may tu xa
[1 State: (chi doc) tra vé trang thai cua
socket:
O Listen: Lang nghe các yêu cầu kết nối đến,
LocalPort là số hiệu cổng được sử
dụng.(TCP)
1 Connect([RemoteHost],[RemotePort]): Kết
nối đến máy từ xa, nếu các tham số không được cung cấp thì phương thức này sé lay giá trị hai thudc tinh RemoteHost va
RemotePort.(TCP)
O Accept(RequestID as Long):chap nhận kết nối đến.(TCP)
Trang 3
Cac giao thức(2)
L1 Bind([{LocalPort], [LocalTP]): kết socket với
một port và 1 địa chỉ TP, nếu các tham số không được cung cấp thì giá trị các thuộc tính LocalPort, LocalTP sẽ được sử
dụng.(UDP)
1 SendData(data): gửi dữ liệu qua
socket.(TCP/UDP)
L1 GetData(data): nhận dữ liệu từ
socket.(TCP/UDP)
L1 Close: đóng socket (TCP/UDP)
Các sự kiện(events)
LI ConnectionRequest(requestTD As Long):
xuất hiện khi có yêu câu kết noi cua may tu xa.(TCP)
Connect(): xuất hiện khi yêu cầu kết nối
đến may từ xa hoàn thanh.(TCP)
DataArrival(bytesTotal As II ust hiện
khi có dữ liệu gửi đến (TCP/UDP
SendComplete(): xuất hiện khi đã hoàn
tãt gửi dữ liệu.(TCP/UDP) SendProgress(bytesSent As Long,
bytesRemaining As Long): xuat hien trong
qua trinh gui du lieu.(TCP/UDP)
10
Cac mo hinh lap trinh
O Client/server
L] Peer to peer
Client/Server(TCP- Interactive)
wskServer.Listen
request ID wskClient.Connect
wskServer.Accept —
SendData/GetData
wskServer.Close wskClient.Close
Trang 4
Client/Server(TCP- Concurrent)
wskServer(0).Listen
request ID wskClient.Connect
Client/Server(UDP)
wskServer.Bind
wskClient.SendData
data
wskServer.GetData
13 14
Peer to peer(UDP) RFC
Protocol RFC Link
wskHostA1.Bind SMTP 821 htto://www.fags.ora/rfcs/rfc821.html
dat wskHostB2.SendData
se POP3 1725 http:/Awww.fags.org/rfcs/rfc1725.himl
wskHostA1.GetData
=, wskHostB1.GetData
FTP 959 htto://www.fags.ora/rfcs/ric959 html
wskHostA1.Close wskHostB1.Close