Welcome

首页 / 软件开发 / Silverlight / Silverlight与WCF之间的通信(7) 双工netTcp实现视频对话

Silverlight与WCF之间的通信(7) 双工netTcp实现视频对话2011-09-29 博客园 翁玉礼效果

先看看效果再说,基本逻辑是两个人通过Silverlight端,借助TCP协议分别向服务器不断传输视频, 服务器接收到视频后,会检测这些视频是发给谁的,然后回调某个客户端来接收并显示这些视频。

实现

双工的服务契约定义

[ServiceContract(CallbackContract=typeof(IChatServiceCallBack))]public interface IChatService{[OperationContract]void SendVideo(UserVideo userVideo);}[ServiceContract]public interface IChatServiceCallBack{[OperationContract(IsOneWay=true)]void GetVideos(List<UserVideo> listVideos);}
数据契约,由三部分组成,发送者,接受者和视频流,方便服务器进行判断,选择接收的回调句柄。

[DataContract]public class UserVideo{[DataMember]public string UserName { get; set; }[DataMember]public string PartnerName { set; get; }[DataMember]public byte[] VideoByte { set; get; }}