基于NFD的ChronoChat安装及使用教程

版权声明:本文为博主原创文章,如需转载请联系博主。 https://blog.csdn.net/GregoryHanson/article/details/83387731

本文基于Ubuntu16.04及Ubuntu18.04分别安装了ChronoChat聊天软件。
学长学姐给我的建议:以下安装过程不要进入sudo su中操作。(我也不知道这样操作了会怎样)

一、安装

1、安装依赖项

#Install dependencies
sudo apt-get install build-essential libsqlite3-dev libboost-all-dev libssl-dev
sudo apt-get install pkg-config libpcap-dev
sudo apt-get install libcrypto++-dev libcrypto++-doc libcrypto++-utils
sudo apt-get install libprotobuf-dev protobuf-compiler libevent-dev
sudo apt-get install qt4-dev-tools git

2、下载安装包

此处有一个大坑。 本人电脑上已安装好了高版本的ndn-cxx及NFD,如果跳过以下和ndn-cxx及NFD的步骤,在./waf安装时会报错并提示ndn-cxx需要c++14编译。虽然我的电脑上g++,gcc,clang都是最新版本,但是仍然默认使用的是c++11编译。在google上并没有找到好的解决办法。
所以:不知道如何修改Checking supported CXXFLAGS这项结果的,建议跟着教程重新下载一遍ndn-cxx和NFD。(如果有知道的朋友,欢迎告诉我)

#Download ndn-cxx
git clone https://github.com/named-data/ndn-cxx
    
#Download NFD
git clone --recursive https://github.com/named-data/NFD
    
#Download ChronoChat
git clone --recursive git://github.com/named-data/ChronoChat

3、编译

(下面的git checkout xxx命令用作把相关文件切换到0.4.1版本)

#Compile ndn_cxx
cd ndn-cxx
git checkout 2e52d7c # Version 0.4.1
./waf configure
./waf
sudo ./waf install
sudo ldconfig
    
#Compile NFD
cd ../NFD
git checkout 58d479c # Version 0.4.1
./waf configure
./waf
sudo ./waf install
sudo cp /usr/local/etc/ndn/nfd.conf.sample /usr/local/etc/ndn/nfd.conf
    
#Compile ChronoSync
cd ../ChronoChat/ChronoSync
git checkout 60d2588027de4c82eff5e1e0b18ccbc9cc2efafc
./waf configure
./waf
sudo ./waf install
sudo ldconfig
    
#Compile ChronoChat
cd ..
./waf configure
./waf

二、测试

1、启动nfd并设置路由表

若在一台主机上打开多个ChronoChat软件测试,则这步只需执行一句命令:

nfd-start

若多台主机使用ChronoChat,则执行:

nfd-start
nfdc register /prefix udp://remote-ip-address

上述命令第二行中,‘/prefix’为包的前缀名,可以自行设置。‘remote-ip-address’为其他主机的ip地址。如我连旁边的jjw同学的主机的时候,实际输入的命令为:

nfdc register /ndn udp://10.15.0.245

可通过命令

ndn-status

查看FIB表、PIT表等,此时路由表中应有一条此IP的记录。

2、打开ChronoChat软件

Ubuntu18.04版本这步可能会有问题,解决方法将在下节介绍,本节先介绍常规操作。
假设当前路径在ChronoChat文件夹下,输入下面命令启动软件:

build/ChronoChat

输入命令后右上角会有一个图标,即代表启动成功。
也可以通过进入ChronoChat/build文件夹中,鼠标双击ChronoChat图标打开。

3、运行

(1)单击右上角出现的图标,选择Settings选项。在出现的对话框中,将nick选项改为自己的用户名,将routable prefix改为第一步设置路由表时设置的前缀,如:/ndn。点击Save退出。
注:多台主机使用时,修改前缀这项必须执行

(2)单击图标,选择Start new chat选项,各台主机使用同样的Chatroom Name。进入后即完成操作。

三、可能遇到的问题

1、不知道本机ip地址

解决办法:

ifconfig

2、完成上面操作后,看不到对方进入聊天室/发的消息对方电脑上没有显示

解决办法:喝口茶,等一会,再等一会。
目前测试成功的机器,在一分钟内至少会有一台机器上能看到别的机器进入聊天室,超过两分钟可以考虑前面操作是否有误。

3、Ubuntu18.04下无法通过双击鼠标打开软件

据说是因为新系统的gnome桌面导致qt图标不能正常显示。
解决办法:

 sudo apt install libcanberra-gtk-module ubuntu-unity-desktop

中间弹出的选项全部选择默认项即可。完成安装后重启电脑,在登陆界面点击小齿轮,选择Unity,即可正常启动程序。不需要运行ChronoChat时可切换回gnome。
若电脑开机设置了不需要密码自动进入,则点击右上方,注销,即可进入选择界面。

猜你喜欢

转载自blog.csdn.net/GregoryHanson/article/details/83387731