解决方案 »
- 请教教我:ToCharArray()
- 如何移动指针?包括:到头,到尾,下一个,上一个
- 为什么DLL 没法调用WebService,打不到类
- access200的3note类型好像无法保持回车,但我界面上需要回车显示,怎么办?
- 再问GDI+的问题,如何获得Region的边界线
- 如何将一个javascript函数读到一个字符串中?
- 请问在VC6中如何使用C#写的类库?
- ArcEngine编程中过滤器类在哪里有?
- B/S ,C/S,分布式谁能给详细讲解一下??
- EF6 中的 来自数据库的Code First (DBCodeFirst)如果更新?(新增表或者修改字段)
- 我想通过C#实现对远程主机系统配置的查询与操作、执行远程主机的cmd程序、对远程主机文件的读写操作,远程主机是windows2003操作系统,我有目标主机的用户
- c#连接数据库问题
定时发送心跳包,若指定时间内没响应则认为断开
不是说在服务器上运行就叫服务端了
服务端,首先里面要提供服务程序,客户端请求之后,服务端处理完,返回数据或执行结果服务端侦听端口,客户端连接这个端口,达到通信的目的.而你现在是,客户端开启了一个侦听端口的服务,而你所谓的服务端,像客户端一样去连接这个端口
这样的方案局限性非常大,因为服务端通常是固定IP,而客户端IP不固定,数量也不固定
用服务端去找客户端,这个设计太不合理了
这样,不管客户端是长连接还是短连接,也不管中间是否会断开连接,甚至是否修改IP
反正服务端接到一个请求,就向这个请求的发起者(可以获取对方IP和端口号)返回数据,根本不需要考虑中间是否断开的问题
c/s结构中,Server端是提供服务,是被动方,
没有必要替客户端维护链路,对于超时连路反倒要及时清理。
如果链路异常,就保留数据重新连接,连接正常后,继续发送数据
报catch之后,将断开的连接移出队列
就完了啊
侦听是一直开着的,等客户端重连的时候,就又会加入队列,然后继续推送
什么都不用做啊