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的功能了,又比较小,比虚拟机方便多了。



C/C++网络编程笔记_开发语言


根据上面操作就可以安装wsl了,安装成功后输入wsl就变成这样了,后面输密码什么的。



C/C++网络编程笔记_c++_02


b.安装Clion

Clion是一个编辑器,还挺好用的,和Java的IDEA差不多,长这样。



C/C++网络编程笔记_Powered by 金山文档_03


可以下载正版的,只需要注册一下学生信息就可以,由学校邮箱的话就不用付费。下载好了以后打开Clion,



C/C++网络编程笔记_开发语言_04


他会有这三种东西,我们可以直接点击wsl,真的很6这玩意儿,连上了以后显示的是你刚才安装的LINUX系统的目录,随便点开一个目录,第一次可能会配置一些东西久一点(这个图是配置好了以后加载)。



C/C++网络编程笔记_Powered by 金山文档_05



C/C++网络编程笔记_Powered by 金山文档_06


如上Clion安装配置完成,连接上wsl。

c.CMakeLists

本文代码可以从https://www.bilibili.com/video/BV11Z4y157RY/?vd_source=d0030c72c95e04a14c5614c1c0e6159b 的qq群获取,对于我们这篇博客要记录的先让网络通信的程序跑起来,我们只需要跑一个server.cpp和一个client.cpp就可以了。

为了简单明了,我就直接在刚才安的ubuntu上面跑一个server.cpp,这里主要记录一下第一次怎么操作的问题。左上角有你的ubuntu信息,这个编辑器就是让你更方便的连接服务器,总在黑框框里玩也不是个事呀,有编辑器提高效率更好。



C/C++网络编程笔记_网络通信_07


先把程序复制过来长这样



C/C++网络编程笔记_c++_08


创建一个CMakeLists.txt,一个字符都不能错,CMakeLists.txt里填这些玩意儿

cmake_minimum_required(VERSION 3.10)
project(socket)

set(CMAKE_CXX_STANDARD 11)

add_executable(server server.cpp)

然后打开命令行输入cmake

第一次弄真的太难了,啥玩意儿都得查,我的猛男同桌先查了一天以后,我再学这玩意儿有问题问他我都觉得很复杂。

注意:server.cpp文件里面有下面这些头文件

#include <netdb.h>
#include <sys/types.h>

这些头文件在本地会报错的,只有linux环境才有(据我所知是这样的)。

cmake完了之后是这样的,会多几个文件。



C/C++网络编程笔记_网络通信_09


原先只有CMakeLists.txt和server.cpp。执行的时候把端口号传入到这arguments里面。



C/C++网络编程笔记_ubuntu_10


Cmake的编译方法

cmake同样也是要在linux环境下配成功的,所以要先使用ToolChain将Cmake链接一下ubuntu环境。



C/C++网络编程笔记_c++_11


还要检查下面ToolChains的东西,尤其是toolset,我一开始就是下面的toolset默认 选了另一个,这样wsl之后连接的就不是我想要的那个环境。



C/C++网络编程笔记_Powered by 金山文档_12


cmake编译的方法我知道的有两种:

  1. 先右击CMakeLists.txt->Reload CMake Project.
  2. 就会生成一个如图所示的可执行文件,箭头所指的两个名称是一致的


C/C++网络编程笔记_Powered by 金山文档_13


编译cmake的另一种方法:



C/C++网络编程笔记_开发语言_14


输入wsl,会自动连接到ubuntu环境,这里也就是我们刚才说的toolchain那里toolset一定要选好自己的环境,不然默认的环境可能不是这一个。然后cmake->make->就可以执行了。参考前面的cmake教程。服务端客户端都跑通,就可以执行了,没啥问题。



C/C++网络编程笔记_开发语言_15


学习代码阶段后续更新,毕竟磨刀不误砍柴工,先把环境配好了,以后写代码效率也会大大提升。

有一个问题,解决一个问题,就不会再有那么多问题。