弱弱的问个网络收包的问题,请大虾门请教 大虾门请教一下: 我用的UDP收包,想把收到的信息用消息队列存储,消息队列创建用函数时key_t ftok( char * fname, int id )fname的取值为什么id的值可以随意取吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 例如:UDP 接收数据,recvform后,放在消息队列,在进行对数据和命令的解析.消息队列改如何创建? 你不是有数据的buf么,另外还有一个标识这个数据的ID,那么你需要保证每个buf的ID是唯一的,这样你就可以将每笔数据存入一个这样的map中:map<int, char*> mymap;应该是这样的一些语句:key_t ftok( char * fname, int id, int nfnamelen ){ char *pBuf = new char [nfnamelen+1]; // nfnamelen这个长度你可以通过再加一个参数传递 mymap[id] = pBuf;}// 你需要在程序退出的时候释放你动态分配的内存,而这些个内存的指针在map中保存,故你需要遍历map并释放之MapClear(){ map<int,char*>::iterator it = mymap.begin(); while(it != mymap.end()) { delete it->second; it->second = NULL; mymap.erase(it++); }} 关于图片的显示 孙鑫MFC教程 线程同步--关键代码段临界区问题 使用别人给的一个COM DLL文件,我至少应该获得什么文件? activex控件如何响应键盘事件 在游戏全屏下如何保持非模态对话框不被游戏画面盖住? 请教一个在线程中使用SOCKET的问题 高手请进:如何将LOGFONT字体保存到文件当中 请问怎么在VC里加一个声音文件啊 如何用CDatabase连接数据库时不使用ODBC进行连接,而是直接连接数据库文件,我的数据库是Access 2000? createfont里的参数设置问题!!!急!!!! 网络通信CArchive错误 ADO的善后问题
消息队列改如何创建?
应该是这样的一些语句:key_t ftok( char * fname, int id, int nfnamelen )
{
char *pBuf = new char [nfnamelen+1]; // nfnamelen这个长度你可以通过再加一个参数传递
mymap[id] = pBuf;
}// 你需要在程序退出的时候释放你动态分配的内存,而这些个内存的指针在map中保存,故你需要遍历map并释放之
MapClear()
{
map<int,char*>::iterator it = mymap.begin();
while(it != mymap.end())
{
delete it->second;
it->second = NULL; mymap.erase(it++);
}
}