000
29.09.2004, 15:48 Uhr
~mou
Gast
|
Hallo Ihrs
Ich muss für einen Freund ein kleines Prog schreiben, welches eine Verbindung zu einem Telnet daemon (Linux) herstellt. Dazu habe ich mir gedacht wäre die CSocket Klasse ziemlich gut geeignet. Habe das in mein Prog dann eingebaut ...und es funktionierte nicht... Eine Verbindung mittels Connect() kommt zustande, jedoch erhalte ich beim ersten Aufruf von Receive() einfach nur Müll, statt der Begrüssungsmeldung. Nach dem zweiten Aufruf bleibt Receive sogar gänzlich hängen.
Auch eine direkte Programmierung über die WinSock API Funktionen liefert mir den selben Müll...?!
C++: |
unsigned char receivedBuffer[256]; int length = 0; int counter = 0;
CSocket loggerSocket; loggerSocket.Create(); NetworkDebug(CString("Create"), loggerSocket.GetLastError());
if ( !loggerSocket.Connect((LPCTSTR)servername, 23) ) { NetworkDebug(CString("Connect"), loggerSocket.GetLastError()); return FALSE; }
if ( (length = loggerSocket.Receive(receivedBuffer, 256)) == SOCKET_ERROR ) { NetworkDebug(CString("Receive()"), loggerSocket.GetLastError()); return FALSE; } receivedBuffer[length] = 0; MessageBox(NULL, (LPCTSTR)CString(receivedBuffer), (LPCTSTR)CString("Empfangenes"), 0);
loggerSocket.Close();
|
|