分享WCF聊天程序--WCFChat实现代码

2019-12-30 11:02:31于海丽

无意中在一个国外的站点下到了一个利用WCF实现聊天的程序,作者是:Nikola Paljetak。研究了一下,自己做了测试和部分修改,感觉还不错,分享给大家。

先来看下运行效果:

开启服务:

分享WCF聊天程序--WCFChat实现代码

客户端程序:

分享WCF聊天程序--WCFChat实现代码

分享WCF聊天程序--WCFChat实现代码

程序分为客户端和服务器端:

------------服务器端:

IChatService.cs:

 

 
  1. using System;  using System.Collections.Generic; 
  2. using System.Linq;  using System.Runtime.Serialization; 
  3. using System.ServiceModel;  using System.Text; 
  4. using System.Collections;   
  5. namespace WCFChatService  { 
  6. // SessionMode.Required 允许Session会话。双工协定时的回调协定类型为IChatCallback接口  [ServiceContract(SessionMode = SessionMode.Required, CallbackContract = typeof(IChatCallback))] 
  7. public interface IChatService  { 
  8. [OperationContract(IsOneWay = false, IsInitiating = true, IsTerminating = false)]//----->IsOneWay = false等待服务器完成对方法处理;IsInitiating = true启动Session会话,IsTerminating = false 设置服务器发送回复后不关闭会话  string[] Join(string name);//用户加入 
  9.   [OperationContract(IsOneWay = true, IsInitiating = false, IsTerminating = false)] 
  10. void Say(string msg);//群聊信息   
  11. [OperationContract(IsOneWay = true, IsInitiating = false, IsTerminating = false)]  void Whisper(string to, string msg);//私聊信息 
  12.   [OperationContract(IsOneWay = true, IsInitiating = false, IsTerminating = true)]