服务器端IOCP模型,如何使建立多个连接的通讯双方约定好一个专用的数据下发连接


服务器端程序使用IOCP通讯模型,任意某个客户端均可发起多个套接字连接。其中一个连接是提供给服务器作为专用的数据下发通道。

问题:有哪些办法,能让通讯双方约定好这个专用通道。

9 个解决方案

#1


引用楼主 babelan 的回复:
服务器端程序使用IOCP通讯模型,任意某个客户端均可发起多个套接字连接。其中一个连接是提供给服务器作为专用的数据下发通道。

问题:有哪些办法,能让通讯双方约定好这个专用通道。


加应用协议就可以了,

#2


写了n久网络,都没敢去碰IOCP,hoho,实在是不敢碰,就像不敢碰COM一样,底层封的太严实了,调起来实在太痛苦了,哈哈,楼主加油

#3


你自己约定不就可以了...........如发什么开头.....什么结尾的就是某某命令,可以下传数据

#4


加包头,是给自己那个建立起来sock的网络流,

#5


自己加个特殊的包头。。。
我现在和你写的差不多,服务器有一个专门的下发流数据通道。。。。
我是把命令通道和下发流数据通道分别单独占一个端口




#6


To:yinshisike、dirdirdir3、lijianli9
你们的回复应该都是属于自定义通讯协议进行区分。连接一建立,客户端就主动发“是否专用通道标识包”

引用 5 楼 ahniyilin 的回复:
自己加个特殊的包头。。。
 我现在和你写的差不多,服务器有一个专门的下发流数据通道。。。。
 我是把命令通道和下发流数据通道分别单独占一个端口


也考虑过用不同的端口区分,监听多端口虽然避免了区分通道的问题,也会面临管理多端口的新问题。究竟选定哪种方式,比较难取舍。

#7


你专门开一个端口来做数据下发不就行了吗

#8


引用 6 楼 babelan 的回复:
To:yinshisike、dirdirdir3、lijianli9
你们的回复应该都是属于自定义通讯协议进行区分。连接一建立,客户端就主动发“是否专用通道标识包”

引用 5 楼 ahniyilin 的回复:
自己加个特殊的包头。。。
我现在和你写的差不多,服务器有一个专门的下发流数据通道。。。。
我是把命令通道和下发流数据通道分别单独占一个端口




也考虑过用不同的端口区分,监听多端口虽然避免了区分通道的问题,也会面临管理多端口的新问题。究竟选定哪种方式,比较难取舍。

管理起来并不难,我原先也是想放在一起做,后来还是分开进行处理了。。。。

采用IOCP模型,send和recv的效率会很高,而且不需要自己去考虑的

分开处理之后,条例比较清晰。我的一个端口进行命令交互,格式是xml格式的命令,而且另一个端口只是发送流数据,格式又是一种。分开处理反而比较简单。

不过,最终还是要看自己的需求了。

#9


看来现在有两种思路可选:
1、单监听端口+应用协议区分;
2、多监听端口;

谢谢楼上各位:-)
智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告