TCP/Socket 通信学习开端

看了并发的go感觉自己又要加一个内容了,主要是go涉及高并发->高并发涉及计算机网络->我不会计算机网络,我如果不会计网根本就无法触及很多项目,但我network课下学期才上,这只好自己来学习了,被艹烂的内容应该不会是什么特别难的内容吧

以下的代码用的是别人现成的,时间紧迫,要先了解一个东西,再去细究其原理,本着不当复读机的原则,在这里只说下配置环境的难点吧,艹了一上午才给配置好

为啥不用linux呢,好问题,但配置起来较为麻烦,而且操作相对不方便,学习调试还是在windows上弄对我而言会好一点

首先windows的lib不像linux那么全,所以include了winsock2和Windows.h 头文件只能让东西在clion上能被检索到,但是跑起来会出现"__imp::socket"和与之关联的方法undefine的问题

这个可以通过在cmakelist里面link一下来解决

 

 如图所示,在executable那里也要加一个类似于-lpthread 的argument

 

 然后是,关于窗口的问题,新手可能比较难以想象这个socket通信是什么形式的,我一开始的理解是同一个目录底下建两个cpp才能通信,后来运行不了,发现我理解错了

这里的clion一个project类似于服务器,另开一个project类似于客户端,二者通过端口实现传送字节的信息,然后搭建好就能通过命令行的运行来进行通讯了,不过一上午只搞懂了如何进行半双工通讯,其他的还在探索中

另外一个收获是,大概对这些东西有印象了,下一步可以做一下go和cpp结合的比如社交软件的项目,争取在春招之前搞定

成品如下

 

 这是服务器

 

 

 

 客户端

posted @ 2021-01-21 14:42  tiany7  阅读(80)  评论(0编辑  收藏  举报