随笔 - 119  文章 - 290  trackbacks - 0

博客搬家了哦,请移步
叫我abc

常用链接

留言簿(12)

随笔分类

我的博客

搜索

  •  

积分与排名

  • 积分 - 301934
  • 排名 - 84

最新评论

阅读排行榜

这是什么?

我的意思是,一个网络组件在接受新连接后,先以文本协议等候消息,以实现支持telnet查看的功能。

telnet查看功能

  1. echo value。 网络组件收到消息后,像echo服务器那样直接返回value。value还可以是组件预置的变量,如$time返回服务器的当前时间。
  2. name value。 网络组件收到消息后,将当前连接绑定到value这个名字上,其目的是为下一条heartbeat指令提供操作对象。
  3. heartbeat value。 网络组件收到消息后,向value绑定的连接发起一个心跳检测,将回执通知telnet端。

这有什么用?

以往telnet在开发中的作用就是ping具体的服务器地址和端口,无法进一步使用。有时候想实时的从服务器中了解一些简单的连接信息,但是网络组件只处理专有的二进制消息,只能实现一个不通用的客户端。
若网络组件在接收二进制消息之前能够处理一些简单的文本协议,那么telnet就可进一步使用,查看组件状态甚至简单调试组件。
还有一种就是服务器程序监控服务,通常这种监控服务只能判断服务器程序是否运行或者挂掉,但是无法判断服务器是否遇上死锁而无法提供服务。当网络组件支持这种文本协议之后,监控服务就能够通过echo和heartbeat两种消息检测网络组件listen方和connect方是否卡死。

内置一个http服务器不是更好?

其实在网络组件中内置一个http服务器不是更好,可以通过wget,curl甚至浏览器进行操作,可视化程度也比较高。
我不这么认为。其实内置一个http服务器有点大了,搞不好比组件本身还大。再者http服务是和业务连接共用一个端口呢还是拥有独立的服务端口,独立的服务端口增加了太多的配置,共用端口的话从HTTP协议变迁到二进制协议是不是太麻烦了点。
posted on 2011-06-12 22:44 LOGOS 阅读(2330) 评论(5)  编辑 收藏 引用

FeedBack:
# re: 网络组件支持telnet检测[未登录] 2011-06-13 09:21 饭中淹
我还是支持加入WEB服务的做法。
从HTTP到二进制协议并不难。
考虑到越来越多的WEB整合需求,
TELNET协议无法满足需求。  回复  更多评论
  
# re: 网络组件支持telnet检测[未登录] 2011-06-13 09:24 饭中淹
你也是做游戏研发的吧,
服务器端需要和官方网站的很多WEB系统对接,
如果没有一个WEB服务的话,
很多事情都很麻烦。

而且在做页游的时候,如何将POLICY服务,和页面服务,以及游戏本身的逻辑服务整合到一起,最终的答案也是所有连接统统使用WEB服务。  回复  更多评论
  
# re: 网络组件支持telnet检测 2011-06-13 11:13 LOGOS
@饭中淹
是做游戏研发的。
网站那边和服务器对接基本上都走二进制协议,这个是由运营商决定的。:-p
我的意思是在底层的network-lib支持简单的文本协议,并非反对在具体业务上使用http协议,我甚至非常支持http协议,这样很多工作可以构建自动化。
  回复  更多评论
  
# re: 网络组件支持telnet检测[未登录] 2011-06-13 12:04 饭中淹
@LOGOS
我是在架构上支持HTTP,后台逻辑服务可以方便的利用。
你们的运营方还真是照顾呀,哈哈。
  回复  更多评论
  
# re: 网络组件支持telnet检测 2011-06-13 20:33 百度非官方
专程来学习。  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理