时间:2012-04-09 | 栏目:silverlight教程 | 点击:次
其实严格来讲,这个实现并非真正意义上的视频通信,既不是P2P的,也没有很高的性能,因为基本上 是两个客户端同时往服务器上传递视频信息,然后由服务器进行中转到对方。
重点在于两点
IIS根目录下放clientaccesspolicy.xml文件
注意服务中定义数据量大小2147483646,否则有可能传递不了
这边是单向的客户端定时向服务器传递带聊天标识的数据流
[DataContract] public class UserVideo { [DataMember] public string UserName { get; set; } [DataMember] public string PartnerName { set; get; } [DataMember] public byte[] VideoByte { set; get; } }
服务契约只有两个,一个是用来存储视频流,一个是用来提供视频流的
[ServiceContract] public interface IChatService { [OperationContract] void SendVideo(UserVideo userVideo); [OperationContract] List<UserVideo> GetVideos(string userName,string partnerName); }