解决方案 »
- GetSysColor API 哪个参数是对话框的背景颜色?
- 如何整理源文件啊
- 如何在SDI中的view中嵌入一个对话框?
- CWinThread和CSocket菜鸟问题,今天结帖
- 【在线放分】单文档视图切换的代码 FORMVIEW之间的切换
- 第一次进行数据库编程,毫无概念,请教请教!
- 高分请教关于将N个点按逆时针顺序排列的算法
- 设置CListCtrl显示复选框后,怎么知道哪些复选框被选中了?
- w_mac(wendy) BCB_FANS(四大名捕之追杀令) 进来领分,非常感谢。 2
- 事务commit//在select的sql语句执行完毕之后使用?
- 终于可以提问点轻松的问题啦
- Gens_Rerecording_11的源码设置入口点后编译出错
但是我觉得更方便的做法是:
在C端,接收数据的时候:
直接在buffer的结构里面加个变nSockFlag就标识好这个是UDP或者是TCP,就是在投递WSARecv的时候,nSockFlag赋值,这样,
GetQueuedCompletionStatus接收到一个BUFFER,直接就可以发现里面的数据是UDP或者是TCP,也就是说是否有4个字节的头,这样处理起来就很简单了。
发送数据的时候当然,逻辑上你自己能控制。但是说起来,TCP和UDP一起,真是很麻烦,UDP还要处理丢包,拥堵,等等,还不如都用TCP,或者你处理好了UDP的丢包拥堵这些,那就全部用UDP也好过两种东西一起用。
IOCP这里我觉得无论是TCP还是UDP,只要把socket关联到完成端口。在send,recv的时候用不同的API就可以了的