none
點對點及一點對多點資料傳輸 RRS feed

  • 問題

  • 個類似MSN的程式, 但只用來談話,可一傳一或一傳多點. 各機均有獨立的IP. 想問是否用
    Socket 或有此簡單的方法來做?

    如果想加傳送file(一傳一), 又應怎樣做.
    kingterry
    2009年9月23日 下午 02:54

解答

  • 我經驗上listener 本身其實吃的資源不太多 (不知道是不是因為現在電腦CPU太快, RAM太多造成的錯覺)
    通常資源往上拉, 都是因為進入了Accept 開始真正要傳送接收的階段.
    不過親身體驗可能更容易瞭解.
    我知道還有一種交談式程式是用TCP實作Client - Server
    就是所有的用戶都是Clinet,Clinet的資料都會先進Server, 再由Server去轉送.


    學而不思則罔, 思而不學則殆. 寫程式無他, 唯勤而已.
    • 已標示為解答 kingterry 2009年9月24日 下午 02:22
    2009年9月24日 下午 01:13
    版主
  • http://www.codeproject.com/KB/WCF/WCFWPFChat.aspx

    我突然想到 我以前再找其它資料的時候 喵到這個  ...
    可以參考看看 ~
    • 已標示為解答 kingterry 2009年9月29日 上午 01:58
    2009年9月29日 上午 01:32

所有回覆

  • 當然用 Socket這個說法是沒錯.

    你可以用UDPClinet類別來簡化你的程式 ( 也就是用UDP 協定來做)
    因為UDP Client可以做一對一發送, 也可以一對多廣播(BroadCast) (不過不能跨網域), 或是多點傳送 (MultiCast)

    學而不思則罔, 思而不學則殆. 寫程式無他, 唯勤而已.
    2009年9月23日 下午 04:25
    版主
  • 多謝Bill 兄的建議.

    但由於用戶的地點不同, 我想我這個必須跨網域. 另外還想問一下,
    Socket 的listener 對CPU資源耗用一般有多大.


    kingterry
    2009年9月24日 上午 02:05
  • 線上手冊有幾個 socket listen 的範例,跑一下不就知道了?


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    2009年9月24日 上午 02:42
  • 我經驗上listener 本身其實吃的資源不太多 (不知道是不是因為現在電腦CPU太快, RAM太多造成的錯覺)
    通常資源往上拉, 都是因為進入了Accept 開始真正要傳送接收的階段.
    不過親身體驗可能更容易瞭解.
    我知道還有一種交談式程式是用TCP實作Client - Server
    就是所有的用戶都是Clinet,Clinet的資料都會先進Server, 再由Server去轉送.


    學而不思則罔, 思而不學則殆. 寫程式無他, 唯勤而已.
    • 已標示為解答 kingterry 2009年9月24日 下午 02:22
    2009年9月24日 下午 01:13
    版主
  • 用Socket要考慮到很多方面喔
    例如 回調函數沒寫好 或是關閉接口 Block模式等等...
    try catch finally 的多層次應用也是寫的好不好的關鍵
    否則一不小心 程式就當了 (尤其當使用人數一多時)
    如果是初學者 可以用簡單的函數先使用起
    然後再慢慢深入研究網路通訊的握手原理
    網路上很多代碼可以學習的 ...
    如果到最後玩的有經驗 甚至可以玩NDIS
    很多現在看的到的防火牆 都是建立在這個基礎上的 ...

    2009年9月28日 下午 02:21
  • 難做!難做啊!
    看妳要什麼功能,直接買元件較快.或用Directx那種寫遊戲的方式(我記得有多種溝通方式).
    用Socket寫很複雜的通訊方式,我是十分不建議.非常難Debug.而隨著Node越多,問題就越多.
    要開發這種程式,不花個幾個月是難做好.可能東西還沒出來你就回家吃自己.

    2009年9月29日 上午 01:04
  • http://www.codeproject.com/KB/WCF/WCFWPFChat.aspx

    我突然想到 我以前再找其它資料的時候 喵到這個  ...
    可以參考看看 ~
    • 已標示為解答 kingterry 2009年9月29日 上午 01:58
    2009年9月29日 上午 01:32
  • WSAWaitForMultipleEvents // 去參考有非常好的作法喔Socket
    2009年12月10日 上午 07:28