ostringstream und send() (Winsock)
-
Ich habe da ein Problem mit send( ... )
std::ostringstream m_t;
-> Zuweisungen
send(hSocket, m_t.str().c_str(), m_t.str().size(), 0);
lässt einen recv() auf der Empfängerseite ins Timeout laufen.
ein:
std::cout << m_t.str().c_str() << std::endl;
funktioniert und zeigt an, dass der String korrekt vorliegt.
Die Parameter auf send() sind ein const char* und die c_str()-Funktion liefert ein const charT*.
Jemand eine Idee, was da falsch läuft? Oder wie muss ich den String aus dem Stream extrahieren, damit send() ordnungsgemäß funktioniert?
-
Hi,
ich habe jetzt statt std::ostringstream eine einfache String-Klasse verwendet und:
std::string sf;::send(hSocket, sf.c_str(), sf.size(), 0);
funktioniert.
Ich verstehe die Welt nicht mehr. :xmas2:
Was zum Teufel ist daran anderst, wie die obige Zuweisung?
-
vllt liegts an dem size() des Stringstreams
weiß nicht genau, was er da dann zurückgibt, wenn man size() eines Stringstreams als Parameter angibt
evtl. mal die Werte der Parameter, die man beim Debuggen erkennt, mal vergleichen, vllt ist da was erkennbar !?