當前位置:編程學習大全網 - 網站源碼 - 易語言這段代碼為什麽出錯?

易語言這段代碼為什麽出錯?

重連報錯在於:

點擊重連後,假如原來有兩個客戶,也就是客戶數組有兩個成員,

計次循環設置循環次數為2,第壹次循環n為1

執行第壹次循環,服務器斷開客戶數組[1]保存的客戶,這時觸發子程序 _服務器1_客戶離開

而妳的這個子程序內含有刪除數組成員的操作,被斷開的客戶被從數組中刪除,這時數組內只有1個成員,而在進行第2次循環時,n為2,這時客戶數組沒有第二個成員,所以超出下標,報錯。

妳加了延遲後之所以沒錯誤是因為:

同樣,觸發 _服務器1_客戶離開後刪除了成員,但因為妳設置了延遲,進程會掛起,這時妳的客戶端被斷開之後再壹次執行了連接命令,觸發 _服務器1_客戶進入 子程序。客戶數組再次加入成員,又有了第二個成員,所以不會發生數組下標超出範圍的錯誤,但是這麽做,並不是所有客戶都被重連,而是只有客戶數組的第壹個成員被重連兩次。

另外關於妳的修改端口的問題:

妳的客戶端連接服務器的永遠是固定的8600端口,妳的服務器更改端口之後,服務端並不知道,依然連接8600端口,肯定是連不上的。

謝謝,給分。。。。。。

有疑問請加 我的昵稱。。。。。

  • 上一篇:人家推薦壹款拍照遊戲1500左右的手機。
  • 下一篇:紅異端mg支架接口在哪
  • copyright 2024編程學習大全網