突然被安排出差了一周,耽误了好些时间!
在这一次,我来实现这个服务器端框架的linux版本。
鉴于我在linux下面还比较菜,所以放弃了伟大的emacs,虽然我很崇拜这个终极武器。我选用了c++版本的eclipse,嘿嘿,惭愧惭愧啊。
不臭贫了,开始正题。
关于eclipse的配置什么的各种开发前的准备活动,我就不再多说了。首先,创建一个shared library,起名为Server4L(又是一个巨俗的名字啊)。项目的框架结构,完全照搬先前在windows下面的设计。
首先创建IConnection吧。不过c++还是不同于c#什么的,木有接口啊。其实这个没什么,就是个关键字的问题。把c#下的接口改成纯抽象类就可以了。名字空间什么的也照搬windows下面的,只是这里改成了Server4L::Core,呵呵。
接着就是实现ConnectionManager了。在这个类里面,我用vector代替了ArrayList,用int代替了TcpClient,其它的地方没什么变化。实际上,我就是把代码copy过来,然后改了改语法什么的……够懒吧!
虽然就这么点小变化,可还是花了我不少时间的。好久不c++了,就是手生啊。
一些说明:
由于c++语法上面的限制,像线程什么的使用起来,与windows下面的c#还是有些区别的,但是好在道理和结构没有什么区别。这方面的区别,我在前面的文章里面也都写过了,所以就不在这里写了。
目前的这个linux版本,鉴于我的能力限制,还没有对xml文件的操作,也没有诸如反射什么的花销特性。只能是先实现基本的功能,那些“高级”的特性,我会在这个框架做好之后再逐步添加。
现在,这个框架已经实现了最基本的支持多个客户端的功能。下一步将是添加一个任务调度队列,实现客户端和服务器端的交互。
在这一次,我来实现这个服务器端框架的linux版本。
鉴于我在linux下面还比较菜,所以放弃了伟大的emacs,虽然我很崇拜这个终极武器。我选用了c++版本的eclipse,嘿嘿,惭愧惭愧啊。
不臭贫了,开始正题。
关于eclipse的配置什么的各种开发前的准备活动,我就不再多说了。首先,创建一个shared library,起名为Server4L(又是一个巨俗的名字啊)。项目的框架结构,完全照搬先前在windows下面的设计。
首先创建IConnection吧。不过c++还是不同于c#什么的,木有接口啊。其实这个没什么,就是个关键字的问题。把c#下的接口改成纯抽象类就可以了。名字空间什么的也照搬windows下面的,只是这里改成了Server4L::Core,呵呵。
接着就是实现ConnectionManager了。在这个类里面,我用vector代替了ArrayList,用int代替了TcpClient,其它的地方没什么变化。实际上,我就是把代码copy过来,然后改了改语法什么的……够懒吧!
虽然就这么点小变化,可还是花了我不少时间的。好久不c++了,就是手生啊。
一些说明:
由于c++语法上面的限制,像线程什么的使用起来,与windows下面的c#还是有些区别的,但是好在道理和结构没有什么区别。这方面的区别,我在前面的文章里面也都写过了,所以就不在这里写了。
目前的这个linux版本,鉴于我的能力限制,还没有对xml文件的操作,也没有诸如反射什么的花销特性。只能是先实现基本的功能,那些“高级”的特性,我会在这个框架做好之后再逐步添加。
现在,这个框架已经实现了最基本的支持多个客户端的功能。下一步将是添加一个任务调度队列,实现客户端和服务器端的交互。