没写过Stocket,像这种心跳包如何编写,

datahandler2 2016-04-07 10:58:27
需要跟一家代付公司合作调用他们的接口,采用Stocket方式。对方给的文档:
通讯模式采用异步模式:TCP/IP的Socket 全双工异步长连接进行通讯,服务端的端口为9105,心跳包内容为“00000000”,需要间隔30秒发起心跳维持连接,心跳方由我们客户端发起,服务端不回复或主动发起心跳包,若3分钟内无报文交互或收到报文为脏报文,服务端将强制断链,服务端IP:10.15.157.9
===============================================
因没写过Stocket方面代码,稍微看了下一些简单的Stocket例子。。。感觉看的基本明白,但不知道怎么处理这个特殊的心跳包。。我这边需要编写客户端方面代码,请有接触的大侠们,提供下我这个需求的参考代码下,不胜感激!
2.另外如果对方服务器强制断开,我这边需要重新连接这方面要怎么在代码里面实现?
3.是否适合将这个客户端部署在IIS网站上面还是非要以windows Server服务存在比较妥当?
...全文
415 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
datahandler2 2016-04-07
  • 打赏
  • 举报
回复
??????
datahandler2 2016-04-07
  • 打赏
  • 举报
回复
引用 1 楼 fei2yun 的回复:
C#的心跳是已经帮你完成了的 按你的说法是对方要求发一个特殊信息已确认仍然在线,那你就将byte[] xx = new byte[] { 0,0,0,0,0,0,0,0 };发过去 2,对方强制断开的状态,c#通常都是无限循环等待就可以了,这里是可以检查状态的。具体要看你自己的需求和代码实现 3,没有这个说法,只要程序是健康的,soft、控制台还是服务都是“妥当”。 服务的话,比较好做启动还有停止这些,相对来说可以减少一些代码,比如说意外重启了机器,你可以可以不用管我的监控是否启动。其他方法,你可能就要做一些自启动项
能给点代码参考学习学习?我是自己编写了一些~~但很多内置的异步方法不是很能了解一些细节和注意异常事项。
baidu_31120321 2016-04-07
  • 打赏
  • 举报
回复
直接清理解决方案再重新生成试试

62,248

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧