修改三方通话功能,在发起三方通话时,先保持住主叫,然后再拉回主叫到会议

ServerSocket.cpp 1.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. #include "stdafx.h"
  2. #include "ServerSocket.h"
  3. #include "NetLinkMgr.h"
  4. #include "NetLinkClient.h"
  5. CServerSocket::CServerSocket(CNetLinkMgr* pParent) : m_pParent(pParent)
  6. {
  7. ASSERT(m_pParent != NULL);
  8. }
  9. CServerSocket::~CServerSocket( void )
  10. {
  11. Close();
  12. }
  13. // CServerSocket 成员函数
  14. /*****************************************************************
  15. **【函数名称】 Init
  16. **【函数功能】 初始化SOCKET SERVER
  17. **【参数】 a_nListenPort: 监听端口
  18. **【返回值】 初始化是否成功
  19. ****************************************************************/
  20. BOOL CServerSocket::init( int a_ListenPort )
  21. {
  22. if(!Create(a_ListenPort))
  23. return FALSE;
  24. if(!Listen())
  25. {
  26. Close();
  27. return FALSE;
  28. }
  29. return TRUE;
  30. }
  31. /*****************************************************************
  32. **【函数名称】 OnAccept
  33. **【函数功能】 客户端连接请求事件响应(重写)
  34. **【参数】
  35. **【返回值】
  36. ****************************************************************/
  37. void CServerSocket::OnAccept( int ErrorCode )
  38. {
  39. // 响应客户端的连接请求
  40. CNetLinkClient* pClient = new CNetLinkClient(m_pParent);
  41. ASSERT(pClient != NULL);
  42. if(pClient != NULL)
  43. {
  44. if(Accept(*pClient))
  45. m_pParent->onClientConnect(pClient); // 连接建立
  46. else
  47. delete pClient;
  48. }
  49. CAsyncSocket::OnAccept(ErrorCode);
  50. }