|
━━━━━━━━━━━━━━━━━━━━━━━━━
當您的應用程序架構是屬于主從式架構時,一般來說,客戶端應該不止一個而已。但是,如果每一個客戶端使用的一組連接端口時,那么如果有100個客戶端呢?如果有1000個客戶端呢?那么究竟要增加多少個winsock控件呢?同時,也得要分成100(或是1000)組accept子程序,接著每一部客戶端都必須記得固定的連接端口號。 其實,您大可不必如此辛苦。您可以利用Visable Basic控件數(shù)組的方式并利用監(jiān)聽用的數(shù)組元素(一般都是索引值“0”),來觸發(fā)ConnectRequest事件。接下來再利用判別控件數(shù)組元素的連接狀態(tài)來進行遠程客戶端連接。以下的程序代碼范例,就是如何讓許多遠程用戶連接到同一個連接端口號的程序代碼的模板: Private connmax As Long Private Sub form_load) Dim I As Integer connmax = 200 sckserver(0).localport = 1001 sckserver(0).listen For I = 1 To connmax load sckserver(i) Next End Sub Private Sub sckserver_connectionrequest(index As Integer,ByVal requestid As Long) Dim I As intege For I = 1 To connmax If sckserver(1).state = sckclosed Then sckserver(I).accept requestid End If End If End Sub 在上述的程序范例中,將會建立一個具有“201”個元素的sckservr控件數(shù)組。接著,利用For。。。nesxt循環(huán)的方式,來設置加載 sckserver 控件數(shù)組元素或是判斷數(shù)組元素是否正在連接中進而允許客戶端連接。至于sckservr控件數(shù)組總元素為“201”的原因在于 - “connmax 設置為200再加上sckserver(0),因此總元素數(shù)量為201”。 |
|
|