Develop and Download Open Source Software

Browse Subversion Repository

Diff of /SocketX/ClientSocket.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 11 by sho1get, Wed Feb 10 18:21:00 2010 UTC revision 16 by sho1get, Mon Jun 28 05:40:57 2010 UTC
# Line 18  CClientSocket::~CClientSocket() Line 18  CClientSocket::~CClientSocket()
18    
19  void CClientSocket::OnConnect(SOCKET hSocket, int nErrorCode)  void CClientSocket::OnConnect(SOCKET hSocket, int nErrorCode)
20  {  {
21          SOCKADDR SockAddr;          SOCKADDR sAddr;
22          NETADDR  NetAddr;          NETADDR  NetAddr;
23    
24          if (nErrorCode != 0)          if (nErrorCode != 0)
# Line 27  void CClientSocket::OnConnect(SOCKET hSo Line 27  void CClientSocket::OnConnect(SOCKET hSo
27                  return;                  return;
28          }          }
29    
30          if (!doGetPeerName(hSocket, &SockAddr) || !AsyncSelect(FD_CLIENT))          if (!doGetPeerName(hSocket, &sAddr) || !AsyncSelect(FD_CLIENT))
31          {          {
32                  return;                  return;
33          }          }
34    
35          CopyMemory(&m_PeerAddr, &SockAddr, sizeof(m_PeerAddr));          CopyMemory(&m_PeerAddr, &sAddr, sizeof(m_PeerAddr));
36    
37          ConvertSockAddrToNetAddr(&SockAddr, NetAddr);          ConvertSockAddrToNetAddr(&sAddr, NetAddr);
38          m_SockMsg.pTgtObj->OnSocketConnectMessage(m_SockMsg.dwSocketID, NetAddr);          m_SockMsg.pCallback->OnSocketConnectMessage(m_SockMsg.dwSocketID, NetAddr);
39  }  }
40    
41  void CClientSocket::OnReceive(SOCKET hSocket, int nErrorCode)  void CClientSocket::OnReceive(SOCKET hSocket, int nErrorCode)
42  {  {
43          CByteArray data;          CByteArray data;
44          SOCKADDR   SockAddr;          SOCKADDR   sAddr;
45          NETADDR    NetAddr;          NETADDR    NetAddr;
46    
47          if (nErrorCode != 0)          if (nErrorCode != 0)
# Line 50  void CClientSocket::OnReceive(SOCKET hSo Line 50  void CClientSocket::OnReceive(SOCKET hSo
50                  return;                  return;
51          }          }
52    
53          if (!doGetPeerName(hSocket, &SockAddr) || !doReceive(hSocket, data))          if (!doGetPeerName(hSocket, &sAddr) || !doReceive(hSocket, data))
54          {          {
55                  return;                  return;
56          }          }
57    
58          ConvertSockAddrToNetAddr(&SockAddr, NetAddr);          ConvertSockAddrToNetAddr(&sAddr, NetAddr);
59          m_SockMsg.pTgtObj->OnSocketReceiveMessage(m_SockMsg.dwSocketID, NetAddr, data);          m_SockMsg.pCallback->OnSocketReceiveMessage(m_SockMsg.dwSocketID, NetAddr, data);
60  }  }
61    
62  void CClientSocket::OnSend(SOCKET hSocket, int nErrorCode)  void CClientSocket::OnSend(SOCKET hSocket, int nErrorCode)
# Line 67  void CClientSocket::OnSend(SOCKET hSocke Line 67  void CClientSocket::OnSend(SOCKET hSocke
67                  return;                  return;
68          }          }
69    
70          m_SockMsg.pTgtObj->OnSocketSendMessage(m_SockMsg.dwSocketID);          m_SockMsg.pCallback->OnSocketSendMessage(m_SockMsg.dwSocketID);
71  }  }
72    
73  void CClientSocket::OnClose(SOCKET hSocket, int nErrorCode)  void CClientSocket::OnClose(SOCKET hSocket, int nErrorCode)
# Line 82  void CClientSocket::OnClose(SOCKET hSock Line 82  void CClientSocket::OnClose(SOCKET hSock
82          }          }
83    
84          ConvertSockAddrToNetAddr(&m_PeerAddr, NetAddr);          ConvertSockAddrToNetAddr(&m_PeerAddr, NetAddr);
85          m_SockMsg.pTgtObj->OnSocketCloseMessage(m_SockMsg.dwSocketID, NetAddr);          m_SockMsg.pCallback->OnSocketCloseMessage(m_SockMsg.dwSocketID, NetAddr);
86  }  }
87    
88  BOOL CClientSocket::CreateSocket(SOCKMSG SockMsg)  BOOL CClientSocket::CreateSocket(SOCKMSG SockMsg)
89  {  {
90          if (!IBaseSocket::CreateSocketWindow())          return doCreateSocket(SockMsg, SOCK_STREAM, IPPROTO_TCP);
         {  
                 return FALSE;  
         }  
   
         SetTargetWnd(SockMsg);  
   
         m_hSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);  
   
         if (m_hSocket == INVALID_SOCKET)  
         {  
                 TRACE1("***** ERROR: socket(%d) *****\n", GetLastError());  
                 m_dwError = GetLastError();  
                 return FALSE;  
         }  
   
         SetSendTimeout(m_dwSendTimeout);  
         SetRecieveTimeout(m_dwReceiveTimeout);  
   
         return TRUE;  
91  }  }
92    
93  BOOL CClientSocket::Initialize(SOCKMSG SockMsg)  BOOL CClientSocket::Initialize(SOCKMSG SockMsg)
# Line 231  END: Line 212  END:
212    
213  BOOL CClientSocket::SyncConnect(const LPCSTR lpDstAddr, WORD wPort, int nLength, DWORD dwTimeout)  BOOL CClientSocket::SyncConnect(const LPCSTR lpDstAddr, WORD wPort, int nLength, DWORD dwTimeout)
214  {  {
215          SOCKADDR_IN siAddr;          SOCKADDR_IN sAddrIn;
216          MakeSockAddrIN(&siAddr, inet_addr(lpDstAddr), wPort);          MakeSockAddrIN(&sAddrIn, inet_addr(lpDstAddr), wPort);
217          return SyncConnect((LPSOCKADDR)&siAddr, sizeof(siAddr), dwTimeout);          return SyncConnect((LPSOCKADDR)&sAddrIn, sizeof(sAddrIn), dwTimeout);
218  }  }
219    
220  BOOL CClientSocket::AsyncConnect(const LPSOCKADDR lpDstAddr, int nLength)  BOOL CClientSocket::AsyncConnect(const LPSOCKADDR lpDstAddr, int nLength)
# Line 259  BOOL CClientSocket::AsyncConnect(const L Line 240  BOOL CClientSocket::AsyncConnect(const L
240    
241  BOOL CClientSocket::AsyncConnect(const LPCSTR lpDstAddr, WORD wPort, int nLength)  BOOL CClientSocket::AsyncConnect(const LPCSTR lpDstAddr, WORD wPort, int nLength)
242  {  {
243          SOCKADDR_IN siAddr;          SOCKADDR_IN sAddrIn;
244          MakeSockAddrIN(&siAddr, inet_addr(lpDstAddr), wPort);          MakeSockAddrIN(&sAddrIn, inet_addr(lpDstAddr), wPort);
245          return AsyncConnect((LPSOCKADDR)&siAddr, sizeof(siAddr));          return AsyncConnect((LPSOCKADDR)&sAddrIn, sizeof(sAddrIn));
246  }  }
247    
248  //////////////////////////////////////////////////////////////////////////  //////////////////////////////////////////////////////////////////////////

Legend:
Removed from v.11  
changed lines
  Added in v.16

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26