none
c# socket server 儲存 處理 client 的資訊 RRS feed

  • 問題

  • 這一陣子  再研究  socket 寫一個 server 來接受 很多client 的 資料 並回應

    其實  就是 做一個 gateway 能夠 讓使用者 向gateway 註冊 然後 gateway  接到相關的資訊 傳給相對應的 client

    (ps:  希望能有一個  可以接收多client user 的server 但  這個 server對 各個 client 的  read 與 receive 能 分開來  ,  一直找不到 好的sample)

    想法如下 :

    1.  我想server 可以把 連上來的 Client 都記錄起來  然後  server 與 client   的溝通 也就是 server端接到 client 端送過來的 byte array 記起來 進行處理 

         因為 我查了 很多sample 都只是 client 連上 server , server 處理 client 的資料後就結束

         我希望 client 的連線能一直儲存在 server上  讓  client 與 server的溝通的 byte array 能夠 方便傳送與parsing

    2.   還有  希望  server端  能知道 哪些 client還連線中 若 無連線 則從儲存的collection 中移除 

    希望各位高手幫個忙   謝謝?~

    2010年9月18日 上午 09:21

解答

  • 線上手冊的範例:

    http://msdn.microsoft.com/zh-tw/library/w89fhyex.aspx

    通訊端程式碼範例

    下列程式碼範例示範如何使用 Socket 類別做為用戶端來連接遠端網路服務,以及做為伺服器來接聽遠端用戶端的連接。

    在本節中

    同步用戶端通訊端範例

    顯示如何實作一個連接至伺服器,並顯示伺服器傳回資料的同步 Socket 用戶端。

    同步伺服器通訊端範例

    顯示如何實作一個接受用戶端連接,並將所接收資料反應回用戶端的同步 Socket 伺服器。

    非同步用戶端通訊端範例

    顯示如何實作一個連接至伺服器,並顯示伺服器傳回資料的非同步 Socket 用戶端。

    非同步伺服器通訊端範例

    顯示如何實作一個接收用戶端連接,並將所接收資料反應回用戶端的非同步 Socket 伺服器。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    • 已標示為解答 布利 2010年9月18日 下午 05:01
    2010年9月18日 下午 04:55
  • 你之前的發問,  [c# socket 的問題 ] 其中不是有一段是AcceptSocket

    所以你將 Dim ClientSocket As Socket

      移到迴圈中, 並改成每次產生一個新的執行個體

    Dim ClientSocket as New Socket= myTcpListener.AcceptSocket()

    並宣告一個全域的ArrayList 或 List 或 集合類別, 每次產生ClientSocket就把它存進去就可以了.


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    • 已標示為解答 布利 2010年9月18日 下午 05:01
    2010年9月18日 下午 04:02
    版主

所有回覆

  • 甚麼叫做向 gateway 註冊?

    你的問 1 跟 問 2 在線上手冊都有範例,本論壇中也討論過,請展現你努力的過程。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    • 已標示為解答 布利 2010年9月18日 下午 03:27
    • 已取消標示為解答 布利 2010年9月18日 下午 05:01
    2010年9月18日 下午 02:55
  • 甚麼叫做向 gateway 註冊?

    你的問 1 跟 問 2 在線上手冊都有範例,本論壇中也討論過,請展現你努力的過程。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。

    嗯  我會再努力 謝謝~~~
    2010年9月18日 下午 03:30
  • 你之前的發問,  [c# socket 的問題 ] 其中不是有一段是AcceptSocket

    所以你將 Dim ClientSocket As Socket

      移到迴圈中, 並改成每次產生一個新的執行個體

    Dim ClientSocket as New Socket= myTcpListener.AcceptSocket()

    並宣告一個全域的ArrayList 或 List 或 集合類別, 每次產生ClientSocket就把它存進去就可以了.


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    • 已標示為解答 布利 2010年9月18日 下午 05:01
    2010年9月18日 下午 04:02
    版主
  • 線上手冊的範例:

    http://msdn.microsoft.com/zh-tw/library/w89fhyex.aspx

    通訊端程式碼範例

    下列程式碼範例示範如何使用 Socket 類別做為用戶端來連接遠端網路服務,以及做為伺服器來接聽遠端用戶端的連接。

    在本節中

    同步用戶端通訊端範例

    顯示如何實作一個連接至伺服器,並顯示伺服器傳回資料的同步 Socket 用戶端。

    同步伺服器通訊端範例

    顯示如何實作一個接受用戶端連接,並將所接收資料反應回用戶端的同步 Socket 伺服器。

    非同步用戶端通訊端範例

    顯示如何實作一個連接至伺服器,並顯示伺服器傳回資料的非同步 Socket 用戶端。

    非同步伺服器通訊端範例

    顯示如何實作一個接收用戶端連接,並將所接收資料反應回用戶端的非同步 Socket 伺服器。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    • 已標示為解答 布利 2010年9月18日 下午 05:01
    2010年9月18日 下午 04:55