By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
454,459 Members | 1,374 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 454,459 IT Pros & Developers. It's quick & easy.

CSocketComm

P: n/a
- I have a class that extends CSocketComm, it is a socket server

- after client send data to server (OnDataReceived function), how can
I send back some data to client? i think i should put the code inside
(OnDataReceived function).

- Currently (OnDataReceived function) only receive data from client
and insert data into a link list - (m_listMessages)

- any example code on response data back to client like -
<resp><picID>2</picID></resp>
========================
class CVirtualScreen
: public CInterfaceGroup
, public CSocketComm
{

========================
bool CVirtualScreen::StartServer() {
bool bSuccess = true;
if (bSuccess == true) {
SetSmartAddressing( false );
bSuccess =
CreateSocket(g_Configuration.m_szServerPort, AF_INET, SOCK_STREAM, 0);
}
if (bSuccess == true) {
SetServerState(true);
SockAddrIn saddr_in;
GetSockName(saddr_in);
ULONG ulIPAddr = saddr_in.GetIPAddr();
LPBYTE pbtIPAddr = (LPBYTE)&ulIPAddr;
}
if (bSuccess == true) {
bSuccess = WatchComm();
}
return bSuccess;
}
========================
void CVirtualScreen::OnDataReceived(const LPBYTE lpBuffer, DWORD
dwCount)
{
for (DWORD i = 0; i < dwCount; i++) {
m_bReceiveBuffer[m_nReceiveIndex] = lpBuffer[i];
m_nReceiveIndex = (m_nReceiveIndex + 1) %
RECEIVE_BUFFER_SIZE;
if (lpBuffer[i] == '\n') {
m_bReceiveBuffer[m_nReceiveIndex] = 0;
EnterCriticalSection(&m_CriticalSection);
m_listMessages.push_back(std::string((const
char*)m_bReceiveBuffer));
LeaveCriticalSection(&m_CriticalSection);
m_nReceiveIndex = 0;
}
}
}
Nov 19 '08 #1
Share this question for a faster answer!
Share on Google+

This discussion thread is closed

Replies have been disabled for this discussion.