当前位置: 首页 > 工具软件 > IceChat > 使用案例 >

ICE Glacirt2 chat 的调试。

姬安志
2023-12-01
    ICE的官方开发者手册真的不友好,好么demo讲解不全,要么就是讲些粗枝大叶不讲仔细,可能这个文档的编写者认为只有“水平足够高”的人才能开发和使用ICE吧,废话就不多说了。chat这个demo的代码其实没什么可讲的,就是slice文件定义了ChatCallBack和ChatSession这两个类,然后client.cpp中对这些类的使用也很简洁,很简单。重点是调通这里面的client和server, client和server默认的配置文件中定义server和client的ip都是本机,也就是说客户端和服务端只能在同一台主机上运行,如果你想将server放在外网的服务器上,请参照chat目录项的README.txt进行相关的设置,如何调通呢?
    要让client和server之间成功沟通,你在开启了server后还需要开启一个Glacier2 router,此时client要等Glacier2 router开启后才能开启, 如果是在Linux环境下控制台跳转到chat的当前目录下直接运行   glacier2router --Ice.Config=config.glacier2  命令,这样路由就开启了,此时再开启client,正常来说client就会提示你输入用户名和密码了,输入完成后,你输入的任何数据都会传输 到server,server再将之前创建的会话房间的中最新的会话数据传给当前的房间的每个用户。

    对了在调试ICE demo的时候,如果提示出现什么IceSSL Plugin初始化失败的信息,那么就应该考虑你的当前工程的config文件中设置的IceSSL的引用路径是否是对的!

------------------------------------------------------------

增加将server搬到外网服务器上相关配置文件的信息。

client中要修改: config.client: Ice.Default.Router=DemoGlacier2/router:ssl -p 4064 -h  服务器外网ip。

                        config.Glacier2:  " Glacier2.Client.Endpoints=ssl -p 4064 -h  服务器外网地址

                                                  Glacier2.Server.Endpoints=tcp -h 服务器外网地址

                                                  Glacier2.SessionManager=ChatSessionManager:tcp -h 服务器外网地址  -p 10001

                                                  Glacier2.PermissionsVerifier=ChatSessionVerifier:tcp -h  服务器外网地址  -p  10001

服务器上的server中要修改:config.Glacier2    Glacier2.Client.Endpoints=ssl -p 4064 -h  服务器外网地址

                                    


 类似资料: