zhuweisky

君子之行,静以修身,俭以养德。非淡泊无以明志,非宁静无以致远。

ESFramework,基于.NET的通信框架。DataRabbit,轻量的数据访问框架。sky.zhuwei@163.com
posts - 185, comments - 1252, trackbacks - 85, articles - 1
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

TCP连接与防火墙

Posted on 2007-09-16 14:58 zhuweisky 阅读(638) 评论(1)  编辑 收藏 所属分类: 分布式
    通常,我们的Tcp服务器会放在IDC机房的某一个或几个防火墙后面,客户端与服务器之间的TCP连接会经过防火墙中转,如下图所示:
    
    在这种情况下,有一点特别需要注意:当Firewall与Server之间的Tcp连接在一段时间(如10分钟)内没有任何应用层的消息经过时,Firewall可能会主动断开与Server之间的Tcp连接,但是Client与Firewall之间的连接一直是有效的。这种情况下,Server以为Client已经断开连接了,而Client却以为自己和Server之间的连接还保持着。
    我们在进行公网测试的时候发现了这个问题,而这样的问题在内网中是无法重现的。




     

Feedback

#1楼    回复  引用    

2007-09-20 12:27 by 动感超人2008 [未注册用户]
不是有心跳消息啊,难道this.basicMessageType.Check不是心跳消息吗

标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-06-18 11:11 编辑过