• 飞秋的实现原理


    转自:http://hi.baidu.com/ma_se/blog/create

    (1)最关键的是局域网用户列表的建立;飞秋启动时使用UDP协议向255.255.255.255这个广播地址发送广播包,默认端口是2425。广播包内容包含用户名、工作组、主机名、IP等信息;

    已启动飞秋的用户通过2425端口收到此广播包后,就会在自己的用户列表中添加这个用户的用户名、工作组等信息,同时向对方IP发送本机用户的个人信息;从而双方都能建立起用户列表;

    (2)刷新用户列表时发送的广播包和启动时差不多,只不过返回的标识信息略有不同;可以做一个小工具,监控2425端口内存流,就能截获刷新和聊天时的消息。

    (3)传送聊天信息时同样使用UDP协议;由于UDP协议是无连接协议,传输速度快,但是没有确认机制,是不可靠的协议,需要自己定义返回信息的标志来判断对方是否收到信息;

    (4)用户离线时发送一个离线广播包到255.255.255.255,收到此广播包的用户,根据包中的IP地址(也可能是多种判断标志或者包含硬件标识,比如网卡地址等)删除对方的用户列表信息;

    (5)广域网无法直接使用广播方式,靠手工添加”局域网外广播列表”来建立相互的关系;

    (6)飞秋传送文件是使用TCP协议,端口2425;

    其他一些资料:

    1.飞秋使用C++语言,开发工具:Visual C++ 4.1, 6.0, or later;

    2.飞秋公开源码,在作者(来自日本广岛的白水启章)和汉化者(阿志)网站下载源码,源码注释为日文;可以使用VC++修改、编译;

    3.飞秋传书是来自日本的软件,日文版是它的第一版本;此外还有中文,英文,韩文,葡萄牙文等语言;

    4.飞秋使用的加密算法:RSA、Blowfish、RC;

    5.飞秋可以使用命令行方式发送信息,命令格式如下:

    ipmsg [端口] /MSG [/LOG][/SEAL] <主机名或IP地址> <消息>

    可以使用IPMsg [端口] 命令改变默认端口,并同时启动多个实例,但是修改后只有使用相同端口的用户才能收到相互的信息;

    6.飞秋非安装版,并不是纯绿色软件,直接删除会在注册表留下垃圾键值;

    * 飞秋把所有设置信息都保存在注册表的以下位置:

    用户密码以不可逆加密方式存储.

    * 如果你忘记了密码, 可以在注册表中将此键值删除,清除密码*\HKEY_CURRENT_USERSoftwareHSToolsIPMsgEngPasswordStr

    7.飞秋一次传送文件数达到几千个时,有丢失文件的可能,怀疑是飞秋的一个bug,而传输大文件则没有问题;

    8.飞秋最稳定的正式版本是V2.06;目前v2.50 alpha6 版正在测试,尚未正式发布;其他如2.71,2007绿色版为修改版本,并非正版;

    9.飞秋支持的字符太少,需要补充一下。

  • 相关阅读:
    alert
    自定义基类装载数据模块显示到dataGrid
    关于dataGrid查询按钮的实现
    如何查看oracle用户具有的权限和角色 大风起
    LoadRunner使用手册 大风起
    电脑蓝屏了,教你一招保证恢复 大风起
    oracle如何查看当前有哪些用户连接到数据库 大风起
    apache+tomcat整合(动静分离) 大风起
    cdn技术浅谈 大风起
    Tomcat性能优化总结 大风起
  • 原文地址:https://www.cnblogs.com/hehexiaoxia/p/4108403.html
Copyright © 2020-2023  润新知