【项目实训7】前后端通信与websocket

在前后端通信过程中发现已有的socket与后端代码并不兼容,我写的后端代码是使用mingw进行编译的,而socket部分的编译方式是msvc,连接以后会出现不兼容的问题。

部分的报错信息

所以选择重新写一个mingw编译下的socket,方便前后端通信。

在mingw下编译websocket最主要的是boost库,在官网上下载以后在文件夹中执行命令。

1.bootstrap gcc

若想一次性编译完毕, 以后就无需再进行编译则执行

2.b2 toolset=gcc

由于是在clion中编写的代码,所以要在CMakeLists 中配置 Boost。

现在stage文件夹中写一个重命名脚本

# -*- coding: utf-8 -*-
# renamer.py
 
from os import listdir, rename
import re
 
for filename in listdir('lib'):
    new_filename = re.sub('libboost(.*)-x64(.*).a', r'libboost\1\2.a', filename)
    rename('lib/' + filename, 'lib/' + new_filename)

执行以后在CMakeList中引入Boost,并引入ws2_32,

CMakeList部分引入代码

set(Boost_DETAILED_FAILURE_MSG ON)
set(Boost_DEBUG on)

set(BOOST_ROOT C:/Users/l'l/boost/boost_1_70_0)
set(BOOST_INCLUDEDIR ${BOOST_ROOT})
set(BOOST_LIBRARYDIR ${BOOST_ROOT}/stage/lib)
find_package(Boost COMPONENTS REQUIRED filesystem program_options)
include_directories(${BOOST_ROOT})
target_link_libraries(server ${Boost_LIBRARIES})
target_link_libraries(server ws2_32)
target_link_libraries(server -lws2_32 -lwsock32 )

如此,便可以解决前后端通信问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值