• Socket心跳包理解历程


    Socket心跳包理解历程 - 风去云寂寞的日志 - 网易博客

    Socket心跳包理解历程   

    2009-03-28 23:35:55|  分类: 默认分类 |  标签:  |字号 订阅

             去年开始接触C/S类型程序,这里就免不了有SOCKET编程,项目需要使用长连接,那么就需要心跳机制。习惯性GOOGLE了下,一个发送一个接收,检测。感觉在服务器上发送挺方便的,于是就在服务器上往客户端上分发,客户端检测。那么如果连接服务器比较多的话,检测就多了,客户端做起来又有些麻烦,后来想到了双向互发。可惜这样也不行,SOCKET使用发送去检测是不可靠的,最后还是使用了客户端发送,服务器检测这种模式。

            到现在,对服务器的编程支离破碎也明白了一些,经验太少,遇到的问题不够全面。处理问题能力也不够,还需要多多的学习,毕竟这些东西比一般的程序要求要高。

             最后提下.NET的SOCKET连接超时问题,一般在LINUX下,处理超时都先设置非阻塞模式,然后用SELECT去判断超时,但在C#中,如果使用非阻塞模式,那么就直接出异常。开始以为.NET不能直接实现了,后来发现,可以捕获这个异常,然后维护一个连接标志。为了实现这个目标,于是就继承了SOCKET类。重写了连接和关闭方法。

            下一步重点放在服务结构学习方面。

  • 相关阅读:
    bzoj1415 NOI2005聪聪和可可
    Tyvj1952 Easy
    poj2096 Collecting Bugs
    COGS 1489玩纸牌
    COGS1487 麻球繁衍
    cf 261B.Maxim and Restaurant
    cf 223B.Two Strings
    cf 609E.Minimum spanning tree for each edge
    cf 187B.AlgoRace
    cf 760B.Frodo and pillows
  • 原文地址:https://www.cnblogs.com/lexus/p/2852836.html
Copyright © 2020-2023  润新知