
Communication Technology
文章平均质量分 79
喜欢特别冷的冬天下着雪
I'm not an excellent Full-stack dev, but I am trying to be...
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
初探Remoting双向通信(二)
二、利用事件实现客户端向服务器通信 接着上一篇,按照我的思路,远程对象中定义的事件在客户端触发,而在服务器端订阅,应该可以成功。现在放弃之前的示例代码,自己重新写一个版本,代码如下:远程对象:using System;using System.Collections.Generic;using System.Linq;using System.Text;n原创 2013-06-25 11:46:24 · 3532 阅读 · 0 评论 -
初探Remoting双向通信(三)
三、利用事件实现服务器向客户端通信 按照之前的思路,这次利用Marshal得到的对象,去触发事件,而事件的订阅端为客户端。为了说明问题,我重新命名了一些函数和事件名,代码如下:远程对象:using System;using System.Collections.Generic;using System.Linq;using System.Text;names原创 2013-06-25 17:51:08 · 6059 阅读 · 0 评论 -
初探Remoting双向通信(四)
之前已经从基本原理上实现了Remoting的双向通信。准备将其移植到我的项目中,不过为了成功移植,我还是需要再把以前的版本稍作修改才能放心的去做。项目中当一台机子中有工作人员进行了预警信息标记时(在地图上会有一个标志),其他机子需要同步更新。这就是说任何一个客户端进行标记时需要通知服务器,然后让服务器去广播标记。这一个小动作就需要双向通信一次。按照项目需求,我再次修改版本,这次只需要改一个函数:原创 2013-06-26 11:11:32 · 3071 阅读 · 4 评论 -
初探remoting双向通信(一)
我始终认为,在项目中边学边用才能将某项技术真正掌握,才能真正理解。最近做了个项目,简单介绍下:主要用Winform,内嵌有百度和谷歌2种类型的地图,此为服务器端。客户端是由另外一家公司做的一个板子,通俗点说就是GSM+GPS,可以利用TCP实时的给地图上传各种信息。客户端是安装的每辆行驶在高速公路的车辆上的,以此实现对高速公路安全的预警和监控。现在项目第一版已经差不多了,要去给客户安装软件。可问题原创 2013-06-24 15:47:07 · 5037 阅读 · 2 评论 -
几种Socket服务器模型比较!
一、异步BeginXXX,EndXXX先看其实现的方式:1.监听 //开启监听线程 public void StartListenThread() { Thread listen_thread = new Thread(new ThreadStart(ListenThread)); listen_thr原创 2013-10-22 17:36:48 · 19401 阅读 · 0 评论 -
Tcp通信中服务器处理客户端意外断开!
所谓意外断开,是客户端(多指支持3G的移动设备)指并没有关闭socket,双方并未按照协议上的四次挥手去断开连接,一般的处理办法都是利用保活机制。而保活机制分又可以让底层实现也可自己实现。一、双方拟定心跳(自实现)一般由客户端发送心跳包,服务端并不回应心跳,只是定时轮询判断一下与上次的时间间隔是否超时(超时时间自己设定)。服务器并不主动发送是不想增添服务器的通信量,减少压力。但这会出现原创 2013-10-23 09:21:51 · 30986 阅读 · 2 评论 -
TCP三次握手与四次挥手!
最近闲来无事,看书温习下TCP的底层知识,比如三次握手之类的原理,再次发现网上有太多误导人的东西,太多的原理图都是错,竟然有很多的图在四次握手时主动方只发给被动方一个FIN,唉。。自己动手去证明吧,再网上找了俩个自己感觉比较正确的图,在后抓包测试下,结果还是挺有收获的。三次握手:在客户端第二次回给服务器时,ACK一定是等于Y+1的,而不是像有些图上面画的,是个Z(一会有图证明).四原创 2013-11-18 21:29:07 · 2226 阅读 · 0 评论