PC操作系统:CentOS Linux release 7.9.2009 (Core)
gcc 版本:4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
libwebsockets 版本:v4.3.0
网址:https://github.com/warmcat/libwebsockets
找Release版本下载会减少很多不必要的麻烦
解压后在根目录下创建build目录用于编译。
进入build目录。
编译指令:
cmake .. -DCMAKE_INSTALL_PREFIX=$PWD/../output make make install
编译安装成功后会在根目录下生成output目录,有编译出来的头文件和 libwebsockets.a、libwebsockets.so。
在根目录下的minimal-examples目录中有很多例子,这些例子要用cmake在该目录下分别编译。
注:我这边生成库文件的时候修改了默认安装位置,所以相对应的CMakeLists.txt要把库和头文件路径配上。
举例: ws-server/minimal-ws-server
在CMakeLists.txt要把库和头文件路径配上
include_directories(../../../output/include) LINK_DIRECTORIES(../../../output/lib)
在minimal-ws-server目录下执行命令:
cmake . -DLWS_WITH_MINIMAL_EXAMPLES=1 -DLWS_ROLE_WS=1 -DLWS_WITH_SERVER=1 make
我虚拟机的IP是:192.168.9.23,然后我用物理机的网页访问。
执行程序:
在物理机上开两个网页访问 192.168.9.23:7681,这两个网页的消息可以互通。
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:108 (message): Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR (missing: OPENSSL_INCLUDE_DIR) Call Stack (most recent call first): /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:315 (_FPHSA_FAILURE_MESSAGE) /usr/share/cmake/Modules/FindOpenSSL.cmake:313 (find_package_handle_standard_args) lib/tls/CMakeLists.txt:259 (find_package)
这个问题是由于系统中没有安装OpenSSL引起的
解决办法:
sudo yum install -y openssl openssl-devel