Re: [其他] 悲慘的封測

看板HOT_Game (熱門遊戲)作者 (sec2)時間18年前 (2007/06/24 23:49), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串8/16 (看更多)
※ 引述《invalid (everlasting)》之銘言: : >有人可以教我設定connect()的timeout嗎? : >上課不專心沒學好Orz : 還在忙星期二的期末報告XD... : 我就我所知來回答一些好了 : 我不知道你是用哪一種socket : winsock還是MFC的sock,還是直接用包裝好的HTTP連接器 : MFC的sock有非阻斷(non-blocking)模式 : 開了之後如果一段時間沒有event進來就可以直接判斷 : winsock的話可以先將socket一樣設定成非阻斷式 : 然後在透過select去檢查socket是不是可寫入的狀態 : 如果可以寫入就代表連線建立 : 建立後可再改回阻斷式,程式寫起來比較方便 : 包裝好的話..就要繞圈圈了 : 看是建一個新的thread去連線 : 連線前設定semaphore,連好線後釋放 : 降外界程式可以定時去檢查semaphore已達到timeout的功能 如果是 Socket.Connect() [.Net System.Net.Sockets] 的話 直接對 Socket 更改下面兩個屬性即可 public int ReceiveTimeout { get; set; } public int SendTimeout { get; set; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 221.169.218.183
文章代碼(AID): #16VfAZiH (HOT_Game)
討論串 (同標題文章)
文章代碼(AID): #16VfAZiH (HOT_Game)