Internal Chat 初体验

       我们公司要开发一个CS结构的聊天软件,所以我想找一个开源的chat软件学习学习,不要太复杂的,于是就找到了Internal chat。网上除其主站外,没有任何资料。于是我把自己学习时翻译出的资料拿来共享一下(不一定翻译的完全准确)
        现在这个软件在我电脑上已经可以使用了,功能比较少,但是适合学习。  
Internal Chat 初体验

        Internal Chat是一个包括服务器端与客户端的即时消息聊天系统。Internal Chat完全采用Java开发,使用PostgreSQL作为DBMS,Jetty作为内嵌http服务器,支持SSL等。
官方网站:http://www.avoware.com/intchat/

一、描述
        Internal Chat是一个包括服务器端与客户端的即时消息聊天系统。Internal Chat完全采用Java开发,因此它可以运行在任何支持java的平台上(MS Windows, Linux, xBSD, Solaris 等等)
        Internal Chat 采用开放的工业协议,它通过HTTP/HTTPS协议,采用了AJAX请求的强大功能和开放的数据库管理系统(例如:PostgreSQL 和 MySQL.)。
二、历史
        略.
三、特点
  1. 即时消息。用户能够发送信息和传送文件。服务器可以设置内部网络,因此你不用担心公网的安全问题
  2. 非常简单的用户和管理员角色
  3. HTTP被做为传输协议使用
  4. 支持SSL
  5. 任意选择消息的接收者
  6. 你可以为每一个消息类型确定模板。例如,你可以确定工作或一些帮助面板(现在可以是一些计划,但是在将来计划把他制作成插件或服务器单元模块)。在系统中通过确定两种消息类型来确定:“文件传送”和普通消息
  7. 添加和删除用户,使之变得可用或不可用,立即显示在所有用。不用用户的相互操作(像在ICQ中添加用户到联系列表中)
  8. 支持用户分组
  9. 用户状态标识(当用户不在他/她的电脑工作是变换用户状态)
  10. 历史记录保存在服务器端,因此用户不会丢失他们的信息
  11. 程序支持多中平台。可以在你喜欢操作系统下运行此程序
  12. 程序将支持国际化。所有的国际化数据被存储在特殊的文件夹中,所以只需要把它翻译成需要的语言。我做了英语和俄语翻译。如果你可以帮我们翻译其它语言-随时通过email联系我们
  13. 还有许多特点

四、截图

  • User's details
  •   
    Internal Chat 初体验
  • Entry point to administration
  •    Internal Chat 初体验
  • Files tab

  • Internal Chat 初体验
  • Common messages tab
  •   
    Internal Chat 初体验
  • IntChatClient Connection Manager
  •   



五、系统需求
1、Servier
  • 安装java jdk 1.5+
  • PostgreSQL (没有版本要求) ,或者 MySQL v.4.1+ (必须支持编码集UTF8)
  • 服务器端必须有足够的RAM(如果你(ˇˍˇ) 想~保持120-150的连接,硬件要求P4 3GHz, 2GB RAM.,4GB推荐)。

  • 2、Client
    [list]
  • 带有java和图型化桌面。
  • 对硬件没有特别要求,推荐内存512M+


六、安装:
1、数据库:(以MySQL为例)
  • 支持PostgreSQL和MySQL,确保MySQL版本支持UTF8字符集。
  • 建立特定数据库
  •     1、创建无权限数据库用户(比如ICUSER)
        2、创建空数据库(比如IC), 字符集必须是UFT8.
       3、把IC的读写权限付给ICUSER,或者配置ICUSER为IC的owner。
  • 下载Server包(IntChatServer-X.Y.Z.zip)
  •     1、download:http://sourceforge.net/project/showfiles.php?group_id=209007
        2、解压到任何位置,从子文件夹 init_sql中找到数据库初始化脚本  PostgreSQL:init_database_ic_postgresql.sql;   MySQL:init_database_ic_mysql.sql
  • 初始化数据库IC。


2、Server
[list]
  • 下载 server package (IntChatServer-X.Y.Z.zip)
  •         download:http://sourceforge.net/project/showfiles.php?group_id=209007
  • 解压到任意路径
  • 运行 /IntChatServer-X.Y.Z/run.cmd纠正javaw.exe 路径。
  • 打开/IntChatServer-X.Y.Z/conf/Server.xml至少修改一下参数:
  •         (1)FileSpool:internal chat 引入文件的保存路径,默认/IntChatServer-X.Y.Z/spool
            (2)数据库访问参数:
    例如:
    <!-- MySQL -->
    <JDBCDriver>com.mysql.jdbc.Driver</JDBCDriver>
    <DBHost>localhost</DBHost>
    <DBPort>3306</DBPort>
    <DBUseSSL>false</DBUseSSL>
    <DBName>ic</DBName>
    <DBUser>ICUSER</DBUser>
    <DBPassword>000000</DBPassword>
    

             (3)运行IntChatServer-X.Y.Z/run.cmd启动server。通过log文件(/ IntChatServer-X.Y.Z/logs)检测server是否启动正常。
  • 应用SSL
  • (1)通过IBM's KeyMan tool 或者command line tool 生成Java Key Store (JKS),例如my.jks
    (2)把JKS-file (my.jks)放入/IntChatServer-X.Y.Z/conf 中。
    (3)配置server.xml (/IntChatServer-X.Y.Z/conf/Server.xml)
    <UseSSL>true</UseSSL>
    <!-- KeyStore 路径-->
    <KeyStore>./conf/MY.jks</KeyStore>
    <InputKeyStorePassword>******</InputKeyStorePassword>
    <OutputKeyStorePassword>******</OutputKeyStorePassword>
    

    [/list]

    3、Client
    Installation::Client
    • 下载client package(IntChatClient-X.Y.Z.zip)。
    • 解压到任意位置
    • 运行 / IntChatClient-X.Y.Z/run.cmd纠正javaw.exe 路径。
    • 运行 run.cmd 启动客户端。

    Installation::Client::Deployment using Java Web Start
    • 我们认为最好的最方便的部署Internal Chat 客户端的方式是使用Java Web Start.
    • 你只要搭建好JRE,其余的工作Java Web Start都会完成。
    • 从Internal Chat服务端5.6.0版本运行用来部署的JNLP-file
    • 安装并且运行Internal Chat服务端。默认设置监听主机intchat.mydomain,端口6556,SSL激活状态(也就是使用HTTPS,不是HTTP)
    • 确定JRE已经安装在客户端电脑上
    • 用浏览器访问这个URL地址:https://intchat.mydomain:6556/webstart/IntChatClient.jnlp
    • 也就是刚才请求访问的Internal Chat服务页面
    • webstart/IntChatClient.jnlp
    • 由于JNLP是自主的文件类型,通常Java Web Start自动运行。如果没有,检查你系统中的数据库
    • Java Web Start第一次从Internal Chat服务端下载客户端JAR,然后如果你确认有Andrew Orlov的认证,做请求操作。也就是(Java 安全请求的必要条件-为了运行所有通过Java Web Start从互联网上下载的JAR文件,必须标识可信的发行者)。点击YES,否则客户端不能被运行。
    • 下次,再客户端没有变化的前提下,Java Web Start将不会下载客户端包。
    • 像往常一样使用客户端


    背景
    客户端包被存放在服务端的webstart子文件夹下。如果发布新版本的Internal Chat 客户端,只要更新新的客户端包,Java Web Start将自动更新到客户端电脑(当然如果你是通过上面的JNLP链接运行的客户端)。既然这样Internal Chat服务端作为普通的HTTP服务运行,提供一些静态内容

    你可能感兴趣的:(java,sql,mysql,PHP,server,PostgreSQL)