用VB完成客戶——服務器(TCP/IP)編程案例
發表時間:2024-02-15 來源:明輝站整理相關軟件相關文章人氣:
[摘要]現在大多數語言都支持客戶-服務器模式編程,其中VB給我們提供了很好的客戶-服務器編程方式。下面我們用VB來實現TCP/IP網絡編程�! CP/IP協議是Internet最重要的協議。VB提供了WinSock控件,用于在TCP/IP的基礎上進行網絡通信。當兩個應用程序使用Socket進行網絡通信時...
現在大多數語言都支持客戶-服務器模式編程,其中VB給我們提供了很好的客戶-服務器編程方式。下面我們用VB來實現TCP/IP網絡編程。
TCP/IP協議是Internet最重要的協議。VB提供了WinSock控件,用于在TCP/IP的基礎上進行網絡通信。當兩個應用程序使用Socket進行網絡通信時,其中一個必須創建Socket服務器偵聽,而另一個必須創建Socket客戶去連接服務器。這樣兩個程序就可以進行通信了。
1.創建服務器,首先創建一個服務端口號。并開始偵聽是否有客戶請求連接。
建立一窗體,并向其增加一個Winsock控件(可在工程菜單中的部件項來添加此控件)
添加兩文本框Text1,Text2,和一按鈕Command1
Private Sub Form_Load()
SockServer.LocalPort = 2000 ′服務器端口號,最好大于1000
SockServer.Listen ′開始偵聽
End Sub
Private Sub Form_Unload(Cancel As Integer)
SockServer.Close
End Sub
Private Sub SockServer_Close()
SockServer.Close
End Sub
Private Sub SockServer_ConnectionRequest(ByVal requestID As Long)
SockServer.Close
SockServer.Accept requestID ′表示客戶請求連接的ID號
End Sub
′當客戶向服務器發送數據到達后,產生DataArrival事件,在事件中接收數據,GetData方法接收數據。
Private Sub SockServer_Data
Arrival(ByVal bytesTotal As Long)
Dim s As String
SockServer.GetData s
Text1.Text = s
End Sub
當我需要向客戶發送數據時,只需調用SendData方法。
Private Sub Command1_Click()
SockServer .SendData Text2.Text
End Sub
2.創建客戶。要創建客戶連接服務器,首先設置服務器主機名,如IP地址、域名或計算機名,然后設置服務器端口,最后連接服務器。
建立一窗體,并向其增加一個Winsock控件(可在工程菜單中的部件項來添加此控件),取名為:SockC1。添加兩文本框Text1,Text2,和一按鈕Command1
Private Sub Form_Load()
SockCl.RemoteHost =′127.0.0.1″
′表示服務器主機名
SockCl.RemotePort = 2000
′表示服務器端口名
SockCl.Connect
′連接到服務器
End Sub
Private Sub Form_Unload(Cancel As Integer)
SockCl.Close
End Sub
Private Sub SockCl_Close()
SockCl.Close
End Sub
Private Sub SockCl_DataArrival(ByVal bytesTotal As Long)
Dim s As String
SockCl.GetData s ′接收數據到文本框中
Text1.Text = s
End Sub
Private Sub Command1_Click()
SockCl.SendData Text2.Text ′向服務器發送數據
End Sub
3.進行通信。把這兩個窗體分別編譯成兩個EXE文件,服務器Server.exe和客戶Client.exe程序,并把它們分別安裝在服務器端和客戶端,這樣就可以實現兩者通信了。
(河北 郝一霜)