當前位置:編程學習大全網 - 源碼下載 - 源代碼解釋

源代碼解釋

這是壹個聊天室的服務器端,有登錄,接收客戶端信息,轉發,廣播的功能。

Private MaxChan As Integer '這個不用解釋了吧?

Private Sub cmdexit_Click()'這個過程就是當按鈕cmdexit被按下時,程序結束。

結束

末端接頭

私有子窗體_Load()

將I標註為整數

MaxChan = 15 '給MaxChan賦值。

對於i = 1到MaxChan-1 '周期

Load sckServer(i)'加載winsock控件數組中的元素。

接下來我

Scklisten。localport = 1001 '將名為scklisten的本地端口設置為1001。

開始監聽端口。

末端接頭

Private Sub sckBusy_Close()'此進程在sckBusy的winsock控件結束時運行,結果是關閉。

sckBusy。關閉

末端接頭

private subskbusy _ data arrival(byval bytestotal as long)'該進程是sckbusy的winsock接收客戶端發送的數據時的進程,下面這句話的意思是發送給客戶端“服務器忙,請稍後連接!”這句話。

SckBusy。SendData“服務器忙,請稍後連接!”

多項活動

末端接頭

private sub sck listen _ connectionrequest(byval request id為long)' scklisten此控件的connection request過程。

將I標註為整數

決定哪個Winsock將接受請求。

For i = 0到MaxChan-1 '循環遍歷所有winsock控件數組中的元素。

如果sckServer(i)。當控制數組中的元素未連接時,State = 0 Then'。

Exit For退出循環。

如果…就會結束

接下來我

如果sckServer(i)。State = 0 Then '如果這個winsock沒有連接。

SckServer(i)。接受requestID '同意客戶端連接。

出口接頭

如果…就會結束

如果所有的Winsock都用完了,壹個特殊的“忙”Winsock將接受請求,以防用戶的請求沒有得到響應。

為避免出錯,請斷開sckbusy控件壹次。

Sckbbusy。“acceptrequestid”讓sckbbusy與客戶端握手意味著同意客戶端連接請求。

末端接頭

private Sub sckListen _ Error(ByVal Number為Integer,Description為String,ByVal Scode為long,ByVal Source為String,ByVal HelpFile為String,Byval helpcontext為Long,canceledisplayas boolean)'這個過程就是sck listen的調試過程。

“關閉”結束對scklisten的監控。

sckListen。本地端口= 1000

以上兩步是重置scklisten,讓它重新開始監聽。

末端接頭

private subskserver _ close(index as integer)'此過程在winsock控件數組中的控件關閉時進行。

SckServer(索引)。“關閉”關閉此連接。

末端接頭

private subskserver _ data arrival(index為integer,byval bytestotal為long)'當控件數組中的控件從客戶端接收到消息時。

將s作為字符串變暗

將I標註為整數

SckServer(索引)。GetData s '提取消息。

Ifucase (left (trim (s),2))=“pt”然後‘判斷是不是耳語,點對點的方式。

上面這句話中的“PT”是程序員寫的特定代碼,也就是說,如果消息的前兩個字符是PT,那就是密語。

如果提取的消息中間的第三個字符是數字,則If為數字(mid (trim (s),3,1))。

I = Mid(Trim(s),3,1)'用這個數給我賦值。

sckServer(i)。發送數據頻道。指數和指數。”& ampRight(Trim(s),Len(Trim(s))-3)將此消息轉發給編號為I的客戶端。

多項活動

如果…就會結束

“Else”廣播模式

否則就是廣播模式,就是轉發給所有客戶端。

對於i = 0到MaxChan-1 '循環

使用winsock的State屬性向連接到服務器的所有客戶端發送消息。

如果sckServer(i)。當客戶端的狀態為連接時,State = 7 Then'。

sckServer(i)。發送數據頻道。指數和指數。”& ampTrim '轉發消息

多項活動

如果…就會結束

接下來我

如果…就會結束

lstReceive。AddItem頻道。指數和指數。”& amp“Trim(s)”將收到的消息保存到列表控件lstreceive。

末端接頭

private Sub sck server _ Error(Index為Integer,ByVal Number為Integer,Description為string,ByVal Scode為long,ByVal Source為String,Byval helper為String,byval helper為Long,cancel display為boolean)'控制數組的調試過程。

SckServer(索引)。“關閉”錯誤地關閉控件。

末端接頭

  • 上一篇:「官方」總結2021的IPFS:成為Web3主流勢頭的支柱
  • 下一篇:如何設置uu助手每天酷跑?
  • copyright 2024編程學習大全網