设计一个C/S架构的系统,Client和Server之间如何进行数据的通信处理为好?系统工作模式如下:
1、SERVER负责原始数据的捕获
2、CLIENT连接SERVER进行数据采集
3、CLIENT对从SERVER采集的数据进行分析处理
4、一个SERVER支持多个CLIENT用户
1、SERVER负责原始数据的捕获
2、CLIENT连接SERVER进行数据采集
3、CLIENT对从SERVER采集的数据进行分析处理
4、一个SERVER支持多个CLIENT用户
IOCP的确是一个不错的模型!我现在考虑的主要几个方面的问题没有弄清楚:
1、SERVER的工作模式
2、SERVER对CLIENT连接的管理、并发用户的支持能力设计
3、SERVER对CLIENT数据传输的方式
4、客户端连接SERVER的请求方式还请各位DX指教。
自己的通讯协议设计好,就是收发包,解析包的问题了
IOCP也是使用了TCP协议通信.
不知道您说的TCP是指何种方式使用?如何很好的处理并发用户的连接,以及数据请求呢?
多谢指教。的确如此,工程要求是一个比较专业级别的应用,我确实没有很好的实战经验,尤其对于系统架构、软件模式、实现方面缺乏经验。身边确实没有能够胜任的同事,这不最近一直在疯狂的学习研究,期待坛子里的各位朋友指点了。感觉现在的大多程序员也都是对代码比较熟悉,在系统架构、甚至再小级别的应用架构设计方面欠缺不是一点两点啊。我不是科班出身programmer,但现在不得不上阵了。大家看来都要加油啊!期待各位高人不吝赐教!
做法:
1。建立多线程的 socket server , 可以支持多个终端同时连接。
2。采用类似 IE 有方式 进行对话,也就是有请求时才有回应,请求结束,同时断开连接。
3。在Socket server中解释 TCP/IP传送的字符串,由Socket server与Sql Server或者 oracle连接处理数据。
4。将处理的结果返回到 终端.
谢谢!请问你有否使用IOCP完成端口呢?还是自己开启的多线程?每个连接一个线程么,如果几十个并发用户,岂不是要开启几十个线程了?!
WSAAsyncSelec 代码容易一些,维护简单,效率比IOCP差一些
IOCP效率最佳,稍难一些,自己选择吧,数据传输量不大(没有图片),几十个并发的话,用WSAAsyncSelec也不会差太多
好像没的选了,
服务端IOCP吧,
客户端其它工作压力不大的话,用WSAAsyncSelec