000
18.09.2005, 16:25 Uhr
Kobold
|
Hallo ich habe ein Problem mit dem Empfangen von Daten. Ich weiss, dass die Daten gesendet werden weil ich es mit dem Programm aus Visual C++ in 21 Tagen getestet habe. Doch ich empfange die Daten mit meinem Serverprogramm nicht. Ich denke mein Problem ist das überladen der Funktion OnReceive, denn ich weiss nicht wie. In Visual C++ in 21 Tagen steht das überladen für dialogbasierte Anwendungen. Ich habe aber eine SDI Anwendung. hier ist der OnReceive Code der automatisch von Visual C++ erzeugt wird.Könnt Ihr mir sagen was ich hierein schreiben muss, damit es funktioniert?
Code: |
void CMySocket::OnReceive(int nErrorCode) { // TODO: Fügen Sie hier Ihren spezialisierten Code ein, und/oder rufen Sie die Basisklasse auf.
CAsyncSocket::OnReceive(nErrorCode); }
|
Und hier ist meine OnReceive funktion die ich in AdoDatabaseView aufrufe um die empfangenen Daten weiter zu verarbeiten.
Code: |
void CAdoDatabaseView::OnReceive(void) { char *pBuf = new char[1025]; int iBufSize = 1024; int iRcvd; CString strRecvd;
// Nachricht empfangen iRcvd = m_sConnectSocket.Receive(pBuf, iBufSize); // Haben wir etwas empfangen? if (iRcvd == SOCKET_ERROR) { } else { // Ende der Nachricht abschneiden pBuf[iRcvd] = '\0'; // Nachricht in einen CString kopieren strRecvd = pBuf;
m_strFirstName = strRecvd; } }
|
Dieser Post wurde am 18.09.2005 um 16:25 Uhr von Kobold editiert. |