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]
(1)Chương 4
1
LẬP TRÌNH MẠNG VỚI VISUAL BASIC (WinSock Control)
Nội dung
Giới thiệu Winsock control
Các thuộc tính
Các phương thức
2
Các kiện
Các mơ hình lập trình với winsock control
Giới thiệu Winsock control
Là ActiveX Control cung cấp dịch vụ mạng TCP UDP dạng thuộc tính, phương thức kiện.
Có thể sử dụng mơi trường
3
Có thể sử dụng môi trường Microsoft Access, Visual Basic, Visual C++, Visual Fox
Khái niệm TCP
TCP(Transfer Control Protocol): cho phép tạo trì kết nốiđến máy tính xa, hai máy tính truyền nhận liệu qua kết nối
Clientcần biết tên địa IP
Server(RemoteHost) số hiệu cổng (RemotePort) mà Server “lắng nghe” để gọi hàm Connect
4 mà Server “lắng nghe” để gọi hàm Connect Servercần thiết lập số hiệu cổng (LocalPort) mà
mình “lắng nghe”, để gọi hàm Listen, có kiện client u cầu kết nối gọi hàm Accept để tạo lập kết nối
(2)Khái niệm UDP
UDP (User DataGram Protocol): 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 truyền nhận liệu
5
Để gửi liệu đến máy xa, cần thiết lập
RemotePort số hiệu cổng mà máy xa
đang gắn kết, RemoteHost địa
máy xa
Muốn nhận liệu số hiệu cổng cần
thiết lập LocalPort sử dụng hàm Bind
Các thuộc tính(properties)
Protocol: trả về/ thiết lập giao thức sử dụng
0-sckTCPProtocol: sử dụng giao thức TCP
1-sckUDPProtocol: sử dụng giao thức UDP LocalPort: trả về/ thiết lập số hiệu cổng
6
LocalPort: trả về/ thiết lập số hiệu cổng dùng máy cục
LocalHostName:(chỉ đọc) trả tên máy cục
LocalIP:(chỉ đọc) trả địa IP máy cục
Các thuộc tính(2)
RemotePort: trả về/ thiết lập số hiệu cổng kết nối đến máy từ xa.
RemoteHost: trả về/ thiết lập tên
7
RemoteHost: trả về/ thiết lập tên máy từ xa kết nối đến.
RemoteHostIP:(chỉ đọc) trả địa chỉ IP máy từ xa.
State:(chỉ đọc) trả trạng thái socket:
Các giao thức(methods)
Listen: Lắng nghe yêu cầu kết nối đến,
LocalPort số hiệu cổng sử dụng.(TCP)
Connect([RemoteHost],[RemotePort]): Kết
8
Connect([RemoteHost],[RemotePort]): Kết nối đến máy từ xa, tham số khơng cung cấp phương thức lấy
giá trị hai thuộc tính RemoteHost
RemotePort.(TCP)
(3)Các giao thức(2)
Bind([LocalPort], [LocalIP]): kết socket với
một port địa IP, tham số không cung cấp giá trị thuộc tính LocalPort, LocalIP sử
dụng.(UDP)
9
dụng.(UDP)
SendData(data): gửi liệu qua socket.(TCP/UDP)
GetData(data): nhận liệu từ socket.(TCP/UDP)
Close: đóng socket (TCP/UDP)
Các kiện(events)
ConnectionRequest(requestID As Long): xuất có yêu cầu kết nối máy từ xa.(TCP)
Connect(): xuất yêu cầu kết nối đến máy từ xa hoàn thành.(TCP)
10
đến máy từ xa hoàn thành.(TCP)
DataArrival(bytesTotal As Long):xuất có liệu gửi đến (TCP/UDP)
SendComplete(): xuất hoàn tất gửi liệu.(TCP/UDP)
SendProgress(bytesSent As Long,
bytesRemaining As Long): xuất q trình gửi liệu.(TCP/UDP)
Các mơ hình lập trình
Client/server
Peer to peer
11
Client/Server(TCP- Interactive)
wskServer.Listen
wskClient.Connect wskServer.Accept
request ID
12
SendData/GetData
(4)Client/Server(TCP- Concurrent)
wskServer(0).Listen
wskClient.Connect wskServer(i).Accept
request ID
13
SendData/GetData
wskServer(i).Close wskClient.Close
Client/Server(UDP)
wskServer.Bind
wskClient.SendData data
14
wskServer.GetData
wskServer.Close wskClient.Close
Peer to peer(UDP)
wskHostA1.Bind wskHostB1.Bind
wskHostA1.GetData
data wskHostB2.SendData
15
wskHostA1.Close wskHostB1.Close wskHostA2.SendData data
wskHostB1.GetData
RFC
Protocol RFC Link
SMTP 821 http://www.faqs.org/rfcs/rfc821.html
POP3 1725 http://www.faqs.org/rfcs/rfc1725.html
16
HTTP 2068 http://www.faqs.org/rfcs/rfc2068.html