C++网络编程


1521 浏览 5 years, 7 months

1 开发准备

版权声明: 转载请注明出处 http://www.codingsoho.com/

课程选择

这个课程是打算跟同事一起学习的,其中有些同学是零基础,枯燥的看书进度会比较慢,所以打算做一个小小的项目来练习一下,这个项目不需要复杂,但是最好能把后面需要用的技术串起来,并且把C++的特点都刻意在该项目中实现。

最初的想法是做一个MUD游戏,这个项目能够使用到网络通信,多线程,字符串处理等后面实际工作中会用到的技术,但是仔细看了MUD游戏的逻辑,对短期的学习不太合适,因为要花一定的时间是理解和学习这些逻辑,而且这个过程中用到的C++技术并不一定会多。

我又想到可以做一个简单的大家都会玩的游戏,比如五子棋gobang,该游戏支持单机和联网,这样相当于把前面MUD游戏的基础部分都用到了,游戏部门大家都比较熟悉,可以集中精神搞算法和C++代码实现。
思考具体实现时在界面问题上比较纠结,有下面这些选择

  • QT跨平台界面,这个一开始我被我否决了,同样,不打算话太多精力放在跟C++本身无关的内容上
  • MFC/Window API,对我来说,比较熟悉,但是对其他同学来说,除了跟QT一样的问题,还有版权的问题,公司机器不能随便装VS。
  • Boland C++ / Turbo C++,这个都支持直接调用graphics.h里的画图接口,但是搞了半天没有成功,BC3.1在Win7 64位机器下根本无法启动。有一个这种方案是用easyx,但是没用起来,编译不通过,这个可以后面再研究一下

暂时放弃五子棋项目,我先想了一个简单的项目《人类分歧解决终端机》,通俗名称就是石头剪刀布,大家联网多人玩这个游戏,不需要特别的界面,文字打印即可。

在搜索方案时,我还看到一个选项时做一个简单的C++做web server的网站,框架叫CROW,这个很容易学,在https://www.lynda.com的课程上可以学习,但是收费很贵,网上资料又极少,就放弃了。
其他的C++网站框架 - CWF

工具

Visual Code

同学推荐,但是只是一个编辑器,编译器需要配置,没有进一步研究

DevC++

之前用过,所以继续使用了。