2010-02-23 236 views
0

我在vb.net中創建了一個異步套接字編程。我已經使用從異步客戶端和服務器代碼的代碼frtom以下鏈接:異步套接字編程

http://msdn.microsoft.com/en-us/library/fx6588te.aspx服務器程序

客戶端程序存在於/bew39x2a.aspx(sorry相同的鏈接我是一個新的用戶因此可以只發佈一個鏈接)

當我嘗試連接更多 比一個客戶端第二個客戶端始終等待,直到第一個客戶端 完成呼叫。我希望客戶同時接受電話... WCF是否有助於讓多個客戶同時接受電話?如果是的話,WCF是什麼,它將如何幫助。或者有沒有其他的概念可以幫助?

如果您有任何有關該計劃的疑問,請點擊上面的鏈接。 告訴我這個程序。它對我的項目非常緊迫,我是套接字編程的新手。

謝謝你提前

+0

你可以嘗試一些線程來處理多個同時發生的請求。 – zapping 2010-02-23 11:52:40

回答

0

是的,WCF可以幫助你。但它只實現了衆所周知的協議,如SOAP,WS- *,JSON和一些專有的協議,如二進制TCP綁定。

你只使用異步Socket編程,如果你需要

  • 高擴展性(超過20個併發客戶端)
  • 一種自定義協議

如果你建立在HTTP之上,我推薦HttpListener

如果您需要使用少量客戶端的自定義協議,請使用具有多個線程的同步套接字編程。

如果你仍然想實現與異步套接字服務器,那麼你就需要一個連續的循環,接受連接(EndAccept()後立即再次調用BeginAccept()),然後啓動BeginReceive()

我可以儘管這些經驗告訴你調試這樣的服務器並不容易。即使通過詳細的日誌文件也很難跟蹤事件鏈。祝你好運:)