小弟不才,失业在家很无聊,想用C++写一个小型的网络库,同时希望能够很容易地实现跨平台,但是由于历史原因,我只对windows操作系统熟悉,其他平台一无所知,所以我的想法是用纯C++写上层,底层用设计模式中的适配器模式(Adapter model),只是提供接口,然后在具体的平台上用不同的方式来具体实现功能方面的东西,当然了,目前我只能用win32 Socket API来实现了,不知道是否可行~~~ 另外我还有一点问题,就是比如win32 socket中的重叠IO或完成端口模式都需要在IO完成后通知上层进行IO处理,那么我在实现网络库的时候应该如何设计使得上层得到通知呢?关键是实现方式要通用,不能具体局限于一个平台,不知道观察者模式是否可以实现?在对非常多个客户端进行管理方面如何设计才能更加方便呢?而且在windows平台上可以用DLL来实现程序,如果要进行跨平台的话这个DLL是否通用,在linux上也存在DLL吗? 如果是TCP如何设计协议呢?
~~~~~望各位高手来讨论讨论~~
还有就是如何设计能够使得系统更具开放性,以后可以不断地增加功能,以前有搞过网络库的朋友请奉献一下经验~~
我也知道有个ACE网络通信库,但是太庞大了,加上马上准备考公务员,没有时间看了,等考完了一定要买本书来好好参考,对ACE有了解的朋友也可以来灌灌水啊~~~
~~~~~望各位高手来讨论讨论~~
还有就是如何设计能够使得系统更具开放性,以后可以不断地增加功能,以前有搞过网络库的朋友请奉献一下经验~~
我也知道有个ACE网络通信库,但是太庞大了,加上马上准备考公务员,没有时间看了,等考完了一定要买本书来好好参考,对ACE有了解的朋友也可以来灌灌水啊~~~
解决方案 »
- 请教一个关于GDI绘图的的基础性问题~~~~~~~~~~~~~~~
- 单元测试框架的选择
- Q2:"WindowsFormsParkingForm" 在2K中你遇到过吗,有深刻认识吗,你快来看看吧!有点罕见哦...
- UDP传输文件
- 请问有关于GDI+的电子书吗?
- 关于一个串口问题?????????????????
- 初级问题请教,请不要嫌分少!!!!
- CSocket是不是不能用来作为服务器端处理同步的事件的?
- 初级问题
- 那位大狭告诉我,那有用ATL类库写COM可视化组件的例子,十分感谢!!
- * 谁了解证券开户系统的 信息安全 设计方法? 我这样设计是安全的吗?
- 在DDC信号线断开的情况下,如何增加分辨率为1680*1050的选项;
再说跨平台的ASIO不好吗?都快成标准库了
========
就你这态度,写得出来,那也仅仅只是一个“实现”