none
請問在關閉Socket後,如何不要把目前在執行的Windows Form關閉。 RRS feed

  • 問題

  • 請問有人知道,在使用System.Net.Socket下的BeginConnect後,

    若是要暫時關掉連接,但不要關掉目前正在執行的Form,應該要用哪個Method嗎?

    我目前是用兩個button,一個是連線,一個是斷線,一按斷線後就會整個Form都關掉。

    不管我用close(),或是disconnect(),都會遇到這樣的問題,請問有人知道該如何解決嗎?

    此外,若是暫時關掉連線,後來還要再連結的話,是不是要使用disconnect(true)的用法?

    謝謝大家的回答。

    --------

    我已經發現出問題的地方了,用close()是可以關掉Socket且不會關掉Form,

    會關掉Form的原因是程式解封包的速度不夠快,在程式快掛掉的時候按 斷線,

    他就會整個Form都關掉。 謝謝各位的回答。

    • 已編輯 amos-Chung 2012年4月5日 上午 04:06
    2012年4月4日 上午 06:34

解答

  • 您好,

    您可能還是要檢視一下您的Code,是否在 斷線 的Method中包含了將Form Close掉的程式呢?

    不然應該是不會關閉Form的哦!

    Socket.BeginConnect(開始遠端主機連接的非同步要求。)

    Asynchronous Client Socket Example

     

    以上說明若有錯誤請指教,謝謝。
    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/

    2012年4月4日 上午 08:32
  • 一斷線就會關掉 Form ? 那通常是因有例外發生而不是因為Disconnect 吧 ?  所以先找出來發生的例外是些什麼.

    順便把以下文章看一下, 有助於提升發問的精準度.

    [張貼文章應注意事項及應提供資訊]


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    • 已提議為解答 ChenBruceModerator 2012年4月5日 上午 03:35
    • 已標示為解答 amos-Chung 2012年4月5日 上午 04:01
    • 已取消標示為解答 amos-Chung 2012年4月5日 上午 04:02
    • 已取消提議為解答 amos-Chung 2012年4月5日 上午 04:02
    • 已標示為解答 amos-Chung 2012年4月5日 上午 04:02
    2012年4月4日 上午 11:44
    版主

所有回覆

  • 那得問你程式是寫在哪 ...

    學習不是查個 Google 套個書上的範例就算了,而是去熟悉了解每個程式碼背後的意義,否則就算學個幾百年,它也不會是你的。
    =================================
    小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
    雲端學堂Facebook: http://www.facebook.com/studyazure

    2012年4月4日 上午 06:41
    版主
  • No source , No Answer

    五點精確提問步驟 : 
    1. 先說明 你的 需求. (需求不是某個功能或作法,而是要達成的使用情境與目標 , 因此不要與 作法 混在一起說 ) 
    2. 再說明你使用的邏輯 或 作法 , 並附上 Source Code.
    3. 說明錯誤的狀況.
    4. 說明 你曾做過但無效的排除方法. (包含網路上查詢到的無效範例) (或列出 你用了哪些關鍵字查詢)
    5. 附上 出錯時 的 抓圖. 

    2012年4月4日 上午 06:42
  • 不好意思,第一次使用這個論壇,不大知道該如何問問題。

    Source Code目前不在身邊,我大概說一下狀況好了,

    程式目的是要收Server的資料(當client就好),所以只有連線,斷線,和收到資料放在listBox。

    目前連線斷線和收資料都沒問題,只是是希望按斷線後,不要把整個form關掉,以利後續再按連線斷線。

    全部的程式碼都寫在form1這個class裡面。

    謝謝小朱和Pan01熱心的回覆。

    2012年4月4日 上午 07:07
  • 您好,

    您可能還是要檢視一下您的Code,是否在 斷線 的Method中包含了將Form Close掉的程式呢?

    不然應該是不會關閉Form的哦!

    Socket.BeginConnect(開始遠端主機連接的非同步要求。)

    Asynchronous Client Socket Example

     

    以上說明若有錯誤請指教,謝謝。
    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/

    2012年4月4日 上午 08:32
  • 一斷線就會關掉 Form ? 那通常是因有例外發生而不是因為Disconnect 吧 ?  所以先找出來發生的例外是些什麼.

    順便把以下文章看一下, 有助於提升發問的精準度.

    [張貼文章應注意事項及應提供資訊]


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    • 已提議為解答 ChenBruceModerator 2012年4月5日 上午 03:35
    • 已標示為解答 amos-Chung 2012年4月5日 上午 04:01
    • 已取消標示為解答 amos-Chung 2012年4月5日 上午 04:02
    • 已取消提議為解答 amos-Chung 2012年4月5日 上午 04:02
    • 已標示為解答 amos-Chung 2012年4月5日 上午 04:02
    2012年4月4日 上午 11:44
    版主