全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1499
推到 Plurk!
推到 Facebook!

Socket的重要觀念!!

尚未結案
crazyhuman
一般會員


發表:13
回覆:13
積分:5
註冊:2003-03-20

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-01-18 18:37:51 IP:61.66.xxx.xxx 未訂閱
請問各位...有一段Sample Code如下: Button1_Click() While 1=1 當我按下Button1後, 若Socket也正在陸續地傳回其他資料, 請問這些資料會被略過or置於Socket Buffer內呢???
orson
中階會員


發表:5
回覆:135
積分:58
註冊:2002-07-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-01-19 12:48:28 IP:211.74.xxx.xxx 未訂閱
引言: 請問各位...有一段Sample Code如下: Button1_Click() While 1=1 當我按下Button1後, 若Socket也正在陸續地傳回其他資料, 請問這些資料會被略過or置於Socket Buffer內呢???
存在socket stack裡面直到它滿了。 滿了以後舊資料會被丟棄 winsock也有相對應的error event Orson
microbean
初階會員


發表:1
回覆:43
積分:38
註冊:2004-04-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-01-19 13:11:29 IP:210.58.xxx.xxx 未訂閱
這個問題可能並不單純 首先 要先能確定 socket thread 與 工作中的 Main Thread (我假設 你寫 while 1= 1 的程式 是在 Main Thread 中)是否是同一個 , 以 indy 來說 , 這可能是兩個不同的 thread 所以你的 MainThread 掛住了 , 並不會影響 Socket 所用的 Thread , 除非 你的 socket Thread 與 MainThread 有 Sync (互相等待同步..等) 的行為, 此時 Socket Thread 才會跟著 hang 住 . 如果 socket thread 與 main thread 是同一個 , 對於 socket 來說 也是不影響的 , 因為資料仍舊會依照 TCP or UDP 的協定傳送 結論是 winsock 不會因為你 的 mainthread 掛住 , 而停止傳送 , 該來的資料都會來 , 只是你可能 無法跟 winsock 互動了 , 所以你沒拿到 最後的 data . 發表人 - microbean 於 2005/01/19 13:18:36
crazyhuman
一般會員


發表:13
回覆:13
積分:5
註冊:2003-03-20

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-01-26 22:23:07 IP:218.166.xxx.xxx 未訂閱
謝謝各位高手的解說
系統時間:2024-05-08 11:56:50
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!