日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

WCF duplex service + silverlight 聊天代码

發布時間:2025/6/17 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WCF duplex service + silverlight 聊天代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

WCF duplex service 通過這個聊天程序練習了一把, 基本通訊流程大概走通了, 這個聊天代碼也就告一段落了, 謝謝,這中間給我提意見得朋友,呵呵.

演示地址: http://www.shareach.com:81/chat

碰到的問題:http://www.cnblogs.com/yinpengxiang/archive/2009/03/23/slChat.html

代碼整理了一下, 在此發布出來, 后面的更新就不在WCF duplex Service的范疇之內了; 后面有時間我再把登錄/注冊和資料維護做進來, 還有前面提到的地圖/相冊等. 希望有更新或者看了我源碼得朋友能給我提點意見. 歡迎大家將此代碼作為技術交流, 但不要作為其它用途.

下面對solution里面各個project做一個簡要說明吧:

1.服務端, 2個project

Contract 是服務端和客戶端數據接口,和通訊的數據協議結構, 以及Service接口, 其實IChat可以不放在里面, 開始以為Duplex一定要用普通WCF Service得契約方式, 呵呵,懶得改了.

Service項目就是普通得WCF Service而已, 參考MSDN的 Factory代碼, 我幾乎是照抄得, 然后看了Webabcd得代碼,把英文換成中文了.

WebSvr.aspx這個文件說一下, 是為了js實現讓service馬上知道退出用得,其實沒多大用,呵呵.

ChatChecker: 消息的route和dispatch都是他來做的, 我還在里面用了個timer實現定時輪詢客戶端(這個地方總感覺有問題), 以便及時的了解客戶端是否在線, 然后一個下線客戶端的list, 一遍廣播所有下線消息到各個客戶端; 具體大家看代碼吧, 呵呵.

在ChatService里面主要就是接受消息,然后異步調用ChatChecker這個類.

ChatMessage和Data:是消息發送的協議類, 我在里面封裝了消息收發的協議結構:消息包結構/消息類型/聊天信息類型;? 消息正文是通過json序列化方式放到消息包里面, 這樣C-S雙方只需要根據消息類型就可以反向出具體的消息實例了.


2.客戶端, 4個project

Chat 是大家能看到的Silverlight Chat UI項目,

chat.Web silverlight的web項目,

Contract是消息協議定義

Core是公用函數, 就封裝了2個正反序列化的函數

?


?

代碼沒有太多的整理, 特別是消息的收發, 只是為了驗證WCF Duplex Service, 沒有做太多的性能處理. 希望大家多多提意見.

再次聲明:歡迎大家將此代碼作為技術交流, 但不要作為其它用途.

轉載于:https://www.cnblogs.com/yinpengxiang/archive/2009/03/30/1424724.html

總結

以上是生活随笔為你收集整理的WCF duplex service + silverlight 聊天代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。