最近的项目比较紧,写博客的时间基本都用来看文档和视频了,很感谢老大给了这么多时间让我研究 ,好几种方案都被我给毙了,因为有要兼顾其他模块,视频聊天的P2P模式也在silverlight下搞不了,看 了唯一的一个例子居然还是基于LiveMessage的,silverlight快点支持P2P吧!!目前在数据传递方面基 本确定了用WCF来搞定一切,包括聊天,视频和文件传递,不过不能再采用HTTP协议了,改用net.tcp来做 ,直接host到控制台,试了试IIS,但是比较复杂,明天再调试一下将wcf服务host到IIS上。有兄弟说WCF 在文件传递方面不太理想,先出了原型了,后期尽量还是往SOCKET方面靠拢。
先说今天的demo,由于我基本还是逐步进行代码转移的,先做了将服务寄宿到console,并且直接使用 console来做客户端的方式。
服务端的代码都简单写到一个文件中了,还是以前的几个方法,发信息与收信息
public class ChatService:IChatService { private static List<MessageInfo> listMessages = new List<MessageInfo>(); public void SendMessage(MessageInfo message) { listMessages.Add(message); } public List<MessageInfo> GetMessages(string userName, string partnerName) { var list = listMessages.Where (m=>m.PartnerName==userName&&m.UserName==partnerName).ToList(); listMessages.RemoveAll(m => m.PartnerName == userName && m.UserName == partnerName); return list; } } [ServiceContract] public interface IChatService { [OperationContract] void SendMessage(MessageInfo message); [OperationContract] List<MessageInfo> GetMessages(string userName,string partnerName); }
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索string
, 控制台
, public
, message
, username
, net.tcp
寄宿方式
wcf寄宿控制台、webapi 寄宿控制台、wcf 控制台宿主、wcf 控制台、wcf 控制台 https,以便于您获取更多的相关知识。