Winsock控件
2008-11-03 15:24
Winsock控件對用戶是不可視的,可以很容易地訪問TCP和UDP網絡服務。其可以被Microsoft Access, Visual Basic ,Visual C++或Visual FoxPro開發人員使用。要編寫客戶和服務器應用程序,不需要了解TCP或調用底層Winsock API的具體細節。通過設置Winsock控件的屬性和調用該控件的方法,可以很容易地連接到遠程計算機并進行雙向的數據交換。
屬性
BytesReceived屬性,LocalHostName屬性,LocalIP屬性,LocalPort屬性,RemoteHost屬性(ActiveX控件),SocketHandle屬性,State屬性(Winsock控件),Protocol屬性(Winsock控件),Name屬性,Parent屬性,RemoteHost屬性(ActiveX控件),RemotePort屬性(ActiveX控件),Index屬性(ActiveX控件),Tag屬性(ActiveX控件),Object屬性(ActiveX控件)。
方法
Accept方法,Bind方法,Close方法(Winsock控件),Listen方法,PeerData方法,SendData方法,GetData方法(WinSock控件),GetData方法(ActiveX控件)。
事件
Close事件,ConnectionRequest事件,DataArrival事件,SendComplete事件,SendProgress事件,Error事件,Connect事件(Winsock控件),Connect事件。
Winsock 控件對用戶來說是不可見的,它提供了訪問 TCP 和 UDP 網絡服務的方便途徑。Microsoft Access、Visual Basic、Visual C++ 或 Visual FoxPro 的開發人員都可使用它。為編寫客戶或服務器應用程序,不必了解 TCP 的細節或調用低級的 Winsock APIs。通過設置控件的屬性并調用其方法就可輕易連接到一臺遠程機器上去,并且還可雙向交換數據。
TCP 基礎
數據傳輸協議允許創建和維護與遠程計算機的連接。連接兩臺計算機就可彼此進行數據傳輸。
如果創建客戶應用程序,就必須知道服務器計算機名或者 IP 地址(RemoteHost 屬性),還要知道進行“偵聽”的端口(RemotePort 屬性),然后調用 Connect 方法。
如果創建服務器應用程序,就應設置一個收聽端口(LocalPort 屬性)并調用 Listen 方法。當客戶計算機需要連接時就會發生 ConnectionRequest 事件。為了完成連接,可調用 ConnectionRequest 事件內的 Accept 方法。
建立連接后,任何一方計算機都可以收發數據。為了發送數據,可調用 SendData 方法。當接收數據時會發生 DataArrival 事件。調用 DataArrival 事件內的 GetData 方法就可獲取數據。
UDP 基礎
用戶數據文報協議 (UDP) 是一個無連接協議。跟 TCP 的操作不同,計算機并不建立連接。另外 UDP 應用程序可以是客戶機,也可以是服務器。
為了傳輸數據,首先要設置客戶計算機的 LocalPort 屬性。然后,服務器計算機只需將 RemoteHost 設置為客戶計算機的 Internet 地址,并將 RemotePort 屬性設置為跟客戶計算機的 LocalPort 屬性相同的端口,并調用 SendData 方法來著手發送信息。于是,客戶計算機使用 DataArrival 事件內的 GetData 方法來獲取已發送的信息。
|
posted on 2009-08-21 13:57
大鳥 閱讀(845)
評論(0) 編輯 收藏 所屬分類:
VBA