DuplexChannel
[ServiceContract(Namespace = "http://xx.com", CallbackContract = typeof(Ipub_c))]
public interface Ipub_s
{
[OperationContract(IsOneWay = true)]
void toserver(string cs);
}
public interface Ipub_c
{
[OperationContract(IsOneWay = true)]
void toclient(string cs); } [ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Reentrant)]
public class Bpub : Ipub_s
{
public void toserver(string cs)
{ Ipub_c callback = OperationContext.Current.GetCallbackChannel<Ipub_c>();
for (int i = 0; i < 1000; i++)
{
System.Threading.Thread.Sleep(1000);
callback.toclient(cs + " | " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss fff") + " | " + cs);
}
}
} ServiceHost host = new ServiceHost(typeof(Bpub));
host.AddServiceEndpoint(typeof(Ipub_s), new NetTcpBinding(), "net.tcp://localhost/dd");
host.Opened += (s, ek) =>
{
this.Invoke((Action)delegate
{
button1.Enabled = false;
button1.Text = "已启动";
Console.WriteLine("HelloService已经启动,按按回车键终止服务!");
});
};
host.Open(); InstanceContext instanceContext = new InstanceContext(new Bcpub());
DuplexChannelFactory<WcfSgS.Ipub_s> channel = new DuplexChannelFactory<Ipub_s>(instanceContext, new NetTcpBinding(), "net.tcp://localhost/dd");
Ipub_s proxy = channel.CreateChannel(); proxy.toserver("dddds");
DuplexChannel的更多相关文章
- Netty 4.1 Getting Start (翻译) + Demo
一.先来官方入门页面的翻译(翻译不好请多包涵) 入门 本章以简单的例子来介绍Netty的核心概念,以便让您快速入门.当您阅读完本章之后,您就能立即在Netty的基础上写一个客户端和一个服务器. 如果您 ...
- WCF3.5 SP1 参考源码索引
http://www.projky.com/dotnet/WCF3.5SP1/Microsoft/InfoCards/AccessibilityApplicationManager.cs.htmlht ...
- WCF学习记录(一)
在这里先简单记录下WCF配置的过程,关于WCF详解,下次再做具体描述. 1. Contract及其实现 a. [ServiceContract(Namespace = "http://www ...
- WCF服务通信测试
知识需要反复咀嚼,常读常新,简单的WCF通信测试:basicHttpBinding(基本通信)\netTcpBinding(双工通信)\netMsmqBinding(消息队列),简单的测试Demo.简 ...
- [netty4][netty-transpot]Channel体系分析
Channel体系分析 接口与类结构体系 -- [I]AttributeMap, ChannelOutboundInvoker, Comparable -- [I]AttributeMap ---- ...
- Netty:Netty的介绍以及它的核心组件(一)—— Channel
1. Netty 介绍 Netty 是一个无阻塞的输入/输出(NIO)框架,它使开发低级网络服务器和客户端变得相对简单.Netty为需要在套接字级别上工作的开发人员提供了令人难以置信的强大功能,例如, ...
- netty系列之:netty中各不同种类的channel详解
目录 简介 ServerChannel和它的类型 Epoll和Kqueue AbstractServerChannel ServerSocketChannel ServerDomainSocketCh ...
随机推荐
- 面试问我 Java 逃逸分析,瞬间被秒杀了。。
记得几年前有一次栈长去面试,问到了这么一个问题: Java中的对象都是在堆中分配吗?说明为什么! 当时我被问得一脸蒙逼,瞬间被秒杀得体无完肤,当时我压根就不知道他在考什么知识点,难道对象不是在堆中分配 ...
- [Web 安全] WASC 和 OWASP两个web安全方面组织机构介绍
copy from : http://blog.sina.com.cn/s/blog_70b7aab9010126mn.html WASC 和 OWASP.这两个组织在呼吁企业加强应用安全意识和指导 ...
- 性能优化中CPU、内存、磁盘IO、网络性能的依赖
系统优化是一项复杂.繁琐.长期的工作,优化前需要监测.采集.测试.评估,优化后也需要测试.采集.评估.监测,而且是一个长期和持续的过程,不 是说现在优化了,测试了,以后就可以一劳永逸了,也不是说书本上 ...
- delete、truncate、drop三种删除语句联系与区别
相同点: 1.truncate和不带where子句的delete.以及drop都会删除表内的数据. 2.drop.truncate都是DDL语句(数据定义语言),执行后会自动提交. 不同点: 1. t ...
- 一款阿里开源的 Java 诊断工具
Arthas是什么鬼? Arthas是一款阿里巴巴开源的 Java 线上诊断工具,功能非常强大,可以解决很多线上不方便解决的问题. Arthas诊断使用的是命令行交互模式,支持JDK6+,Linux. ...
- C# redis客户端帮助类
需要在NuGet里面引用ServiceStack.Redis using ServiceStack.Redis; using ServiceStack.Redis.Generic; using Sys ...
- 一篇文章学会shell脚本
一.Shell传递参数 #!/bin/bash # 假设在脚本运行时写了三个参数 ..,,则 "(传递了三个参数). echo "-- \$* 演示 --" for i ...
- 【LeetCode算法-26】Remove Duplicates from Sorted Array
LeetCode第26题 Given a sorted array nums, remove the duplicates in-place such that each element appear ...
- 【计算机视觉】图像着色(Image Colorization)
(Sometimes technology enhances art. Sometimes it vandalizes art. --- 有时技术会增强艺术,有时它破坏了艺术.) 着色黑白电影是一个可 ...
- jxls:用jx:if实现字典值格式化
用JXLS导出excel非常方便,但是我们往往需要把字典值转为中文名称,例如1转为男,这个时候就需要用到jx:if来完成. 请见下图: jx:if(condition="obj.way==1 ...