断点传输
摘要:有网友提出这么一个场景(来自CSDN论坛):假如,开始我向对方传c:\a.rm文件,中途断掉,下次我传c:\directory\a.rm,虽然这两个文件名都是a.rm,但内容是完全不同的,那对方怎么知道是新的文件还是上次未传完的文件,或者说,是续传,还是重新传?鉴别是不是同一个文件,基本上要用文件的hash来比较。IM系统点到点传文件,跟做语音聊天类似,不是只有一路文件的数据。一般需要两路。一路信令,一路文件数据。要传文件的时候,发送方就把把文件用MD5算一下,把得到的hash值作为信令的一部分发给对方,对方保存。然后才开始传文件。中途发生断点。后面再发起文件发送的时候,同样的,发送方计算MD
阅读全文
用Duplex实现消息广播
摘要:http://blog.csdn.net/fangxinggood/archive/2011/01/15/6142861.aspxWCF中定义3种消息交换模式: 1. Request/Reply; 2. One-Way; 3. Duplex。Request/Reply是缺省模式,即同步调用。在调用服务方法后需要等待服务的消息返回,即便该方法返回 void 类型。One-Way这种方式在调用方法后会立即返回。需要注意的是 One-Way 不能用在非void,或者包含 out/ref 参数的方法上,会导致抛出 InvalidOperationException 异常。Duplex又称为双工通信,实
阅读全文
WCF基础: 关于Socket.TCP.UDP
摘要:1、建立连接协议(三次握手)(1)客户端发送一个带SYN标志的TCP报文到服务器。这是三次握手过程中的报文1。(2) 服务器端回应客户端的,这是三次握手中的第2个报文,这个报文同时带ACK标志和SYN标志。因此它表示对刚才客户端SYN报文的回应;同时又标志SYN给客户端,询问客户端是否准备好进行数据通讯。(3) 客户必须再次回应服务段一个ACK报文,这是报文段3。 2、连接终止协议(四次挥手) 由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个 FIN只意味着这一方向上没有数据流动,一个TCP连接在收到
阅读全文
WCF中的InstanceContextMode与SessionMode
摘要:SessionMode:设置会话的模式(默认情况下是Allowed)是客户端代理与服务器之间的会话模式,同样也有三种类型:Allowed-允许会话、NotAllowed-不允许会话、Required-要求会话(需要有支持会话的Binding支持,WsHttpBinding、NetTcpBinding等)若要设计一个会话契约,我们建议使用Required 方式,而不是默认值Allowed。SessionMode.Required值要求必须使用传输层会话,但应用层会话却不是必要的,如果服务终结点的绑定没有维持一个传输层会话,就不能为这样的服务契约配置SessionMode.Required。这一约
阅读全文
读<你必须知道的.NET>小结2
摘要:关于继承public abstract class Animal { public abstract void ShowType(); public void Eat() { Console.WriteLine("Animal always eat."); } }public class Bird : Animal { private string type = "Bird"; public override void ShowType() { Console.WriteLine("Type is {0}", type); } pri
阅读全文
读<你必须知道的.NET>小结1
摘要:关于内存的分配,首先应该了解分配在哪里的问题。CLR管理内存的区域,主要有三块,分别为: 线程的堆栈,用于分配值类型实例。堆栈主要由操作系统管理,而不受垃圾收集器的控制,当值类型实例所在方法结束时,其存储单位自动释放。栈的执行效率高,但存储容量有限。 GC堆,用于分配小对象实例。如果引用类型对象的实例大小小于85000字节,实例将被分配在GC堆上,当有内存分配或者回收时,垃圾收集器可能会对GC堆进行压缩,详情见后文讲述。 LOH(Large Object Heap)堆,用于分配大对象实例。如果引用类型对象的实例大小不小于85000字节时,该实例将被分配到LOH堆上,而LOH堆不会被压缩,
阅读全文
WCF操作:请求应答(Request-Reply)、单向操作(One-Way)、回调操作(Call Back).
摘要:原文参考:http://www.cnblogs.com/frank_xl/archive/2009/05/05/1437494.html WCF除了支持经典的请求/应答模式意外,还提供了对单向操作、双向回调操作模式的支持,此外还有流操作.【1】请求应答(Request-Reply): 请求应答模式是默认的操作模式。这与经典的C/S编程类似,客户端发送请求,阻塞客户端进程,服务端返回操作结果。【2】单向操作(One-Way):【2.1】概念: 简单来说,单向操作没有返回值,客户端只管调用,不管结果。单向操作客户端一旦发出请求,WCF会生成一个请求,不会给客户端返回任何消息。单向操作不同于异步操作
阅读全文
WCF查找元数据
摘要:NND,老了,记忆力都没了。。2个月前学的东西都忘记了。某app.config <!-- 部署服务库项目时,必须将配置文件的内容添加到 主机的 app.config 文件中。System.Configuration 不支持库的配置文件。--> <system.serviceModel> <services> <service name="Tivon.Library.Service1"> <host> <baseAddresses> <add baseAddress = "net.tcp:
阅读全文