CSocket写的服务器的使用静态MFC的错误的解决方案

来源:互联网 发布:淘宝网男士高领打底衫 编辑:程序博客网 时间:2024/06/06 10:06

用共享DLL方式使用MFC,用CSocket写的服务器(开了一个监听线程),没事能正常使用   
    
  而改为用静态使用MFC时候!却来个中断   
    
  在其它机器上系统报程序错误!要关闭!从新启动!   
    
  void*   CMapPtrToPtr::GetValueAt(void*   key)   const   
  //   find   value   (or   return   NULL   --   NULL   values   not   different   as   a   result)   
  {   
  if   (m_pHashTable   ==   NULL)   
  return   NULL;   
    
  UINT   nHash   =   HashKey(key)   %   m_nHashTableSize;   
    
  //   see   if   it   exists   
  CAssoc*   pAssoc;   
  for   (pAssoc   =   m_pHashTable[nHash];   pAssoc   !=   NULL;   pAssoc   =   pAssoc->pNext)   
  {   
  if   (pAssoc->key   ==   key)   
  return   pAssoc->value;   
  }   
  return   NULL;   
  }   
    
  中断指向if   (m_pHashTable   ==   NULL)

解决方案:

在   CSocket   被     Create   之前调用   
    
  AfxSocketInit     函数,   例如   
    
  WSADATA   wsaData;   
  AfxSocketInit(&wsaData);   
    
  m_sock.Create()

原创粉丝点击