各位大侠,小弟现在要做一个通信程序
求完成端口或select模型的通信代码或实现机制 及线程池的具体实现方式
要求使用同步模式
WSAAsyncSelect()和WSACreateEvent()两种异步模式不予考虑我的需求是这样的:
服务器端随时监听请求,收到请求后实时处理回应.
TCP或UDP均可,通信并发数量高,要求实时性要好
每次通信的数据量都很小,在100字节以内(不会超过100字节)
局域网通信即可,每秒并发处理数量要在500以上(最低要求500)
数据的通信高峰不可预测
保证线程工作稳定,有容错和缓冲处理机制最好
是不是一定要使用线程池?不一定要有代码,请大家多出些主意,当然有代码更好
请大家踊跃指导,因级别有限,最多只能为100分
有好的解决方法可以另外开贴给分!!!大家一定要帮帮小弟啊,谢谢大家的帮忙!!!
求完成端口或select模型的通信代码或实现机制 及线程池的具体实现方式
要求使用同步模式
WSAAsyncSelect()和WSACreateEvent()两种异步模式不予考虑我的需求是这样的:
服务器端随时监听请求,收到请求后实时处理回应.
TCP或UDP均可,通信并发数量高,要求实时性要好
每次通信的数据量都很小,在100字节以内(不会超过100字节)
局域网通信即可,每秒并发处理数量要在500以上(最低要求500)
数据的通信高峰不可预测
保证线程工作稳定,有容错和缓冲处理机制最好
是不是一定要使用线程池?不一定要有代码,请大家多出些主意,当然有代码更好
请大家踊跃指导,因级别有限,最多只能为100分
有好的解决方法可以另外开贴给分!!!大家一定要帮帮小弟啊,谢谢大家的帮忙!!!
使用UDP效率高,丢包现象不知道应该怎么解决请大家给分析一下,使用什么好些?
呵呵,祝你好运。
肯定是TCP的C/S结构,肯定是用多线程,线程池,完成端口,重叠模型。
其他的再考虑吧。
但要求必须用CS的结构,因为要求响应速度很快,突发量很大,局域网内通信
BS能满足要求吗?(我不知道能不能)要用多线程和线程池是肯定的,大家给些资料啊
我想用UDP(因为每次通信的数据量在0.1K byte以内),但是丢包现象使我头大我顶!!!
而且你用UDP还要处理丢包的情况,你如果是重要数据,是不推荐用基于UDP传输的。当然,如果你仅是图像、视频、音频数据还可以。
浏 器/客户模式?
C/S好像才是楼主要的模式吧??
那我想应该就是C/S结构的完成端口+UDP+多线程+线程池了现在完成端口中的IO复用不是很明白
在异步模式中,如果有用户通信,正在数据交换,那么这个时间内其它的客户端应该是不能连接的
那么在完成端口模型中,这个时间内,其它的socket可以进行连接,进行数据传输吗?
我指的是在UDP中传输一个IP包的时间段内(从开始传输到传输完成)
认为TCP,UDP都行;
TCP: 采用IOCP模型(实际原理也是开线程池处理I/O);
UDP: 可以采用链表,或者IOCP;
结构 C/S模式,在发送数据(一般不会出错)时候发出待发送数据的大小,接收的时候,
先收到待接收数据的大小,然后循环接收!