https://www.bilibili.com/video/BV11Z4y157RY/?vd_source=d0030c72c95e04a14c5614c1c0e6159b
这个视频里面通过简单的例子,讲了socket,对于小白来说还比较友好,我这里做个笔记。
让网络通信跑起来
我只有本科时候学过一点点C++基础,但是没怎么深入了解,想深入学习一下C++的知识,往这方面发展,看了一圈基本都是网络通信和LINUX之类的玩意儿。说实话有点懵,直到跑通了一个小案例以后才有点感觉。
a.配置本地wsl.
Windows 10 配置Clion+WSL2环境 - 知乎
https://zhuanlan.zhihu.com/p/272522594
上面的东西不需要全看,我把我的操作记录下来。
1.https://learn.microsoft.com/en-us/windows/wsl/install
根据上面的链接,安装wsl,wsl是windows的一个子系统,我也不是特别理解,反正就是有LINUX的功能了,又比较小,比虚拟机方便多了。
根据上面操作就可以安装wsl了,安装成功后输入wsl就变成这样了,后面输密码什么的。
b.安装Clion
Clion是一个编辑器,还挺好用的,和Java的IDEA差不多,长这样。
可以下载正版的,只需要注册一下学生信息就可以,由学校邮箱的话就不用付费。下载好了以后打开Clion,
他会有这三种东西,我们可以直接点击wsl,真的很6这玩意儿,连上了以后显示的是你刚才安装的LINUX系统的目录,随便点开一个目录,第一次可能会配置一些东西久一点(这个图是配置好了以后加载)。
如上Clion安装配置完成,连接上wsl。
c.CMakeLists
本文代码可以从https://www.bilibili.com/video/BV11Z4y157RY/?vd_source=d0030c72c95e04a14c5614c1c0e6159b 的qq群获取,对于我们这篇博客要记录的先让网络通信的程序跑起来,我们只需要跑一个server.cpp和一个client.cpp就可以了。
为了简单明了,我就直接在刚才安的ubuntu上面跑一个server.cpp,这里主要记录一下第一次怎么操作的问题。左上角有你的ubuntu信息,这个编辑器就是让你更方便的连接服务器,总在黑框框里玩也不是个事呀,有编辑器提高效率更好。
先把程序复制过来长这样
创建一个CMakeLists.txt,一个字符都不能错,CMakeLists.txt里填这些玩意儿
cmake_minimum_required(VERSION 3.10)
project(socket)
set(CMAKE_CXX_STANDARD 11)
add_executable(server server.cpp)
然后打开命令行输入cmake,cmake不懂可以参考这篇https://blog.csdn.net/whahu1989/article/details/82078563?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167748607116800182739772%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=167748607116800182739772&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-2-82078563-null-null.142^v73^insert_down3,201^v4^add_ask,239^v2^insert_chatgpt&utm_term=cmake&spm=1018.2226.3001.4187
第一次弄真的太难了,啥玩意儿都得查,我的猛男同桌先查了一天以后,我再学这玩意儿有问题问他我都觉得很复杂。
注意:server.cpp文件里面有下面这些头文件
#include <netdb.h>
#include <sys/types.h>
这些头文件在本地会报错的,只有linux环境才有(据我所知是这样的)。
cmake完了之后是这样的,会多几个文件。
原先只有CMakeLists.txt和server.cpp。执行的时候把端口号传入到这arguments里面。
Cmake的编译方法
cmake同样也是要在linux环境下配成功的,所以要先使用ToolChain将Cmake链接一下ubuntu环境。
还要检查下面ToolChains的东西,尤其是toolset,我一开始就是下面的toolset默认 选了另一个,这样wsl之后连接的就不是我想要的那个环境。
cmake编译的方法我知道的有两种:
先右击CMakeLists.txt->Reload CMake Project.
就会生成一个如图所示的可执行文件,箭头所指的两个名称是一致的
编译cmake的另一种方法:
输入wsl,会自动连接到ubuntu环境,这里也就是我们刚才说的toolchain那里toolset一定要选好自己的环境,不然默认的环境可能不是这一个。然后cmake->make->就可以执行了。参考前面的cmake教程。服务端客户端都跑通,就可以执行了,没啥问题。
学习代码阶段后续更新,毕竟磨刀不误砍柴工,先把环境配好了,以后写代码效率也会大大提升。
有一个问题,解决一个问题,就不会再有那么多问题。