Ich verwende derzeit Vektoren als c-artige Arrays zum Senden und Empfangen von Daten über Winsock.Effektivere Art, Vektor als Array in Winsock wiederzuverwenden?
Ich habe einen Std :: Vector und ich verwende das als meine 'Byte-Array'.
Das Problem ist, ich verwende zwei Vektoren, einen für jeden senden, und einen für jeden recv, aber was ich tue, scheint ziemlich ineffizient zu sein.
Beispiel:
std::string EndBody("\r\n.\r\n");
std::fill(m_SendBuffer.begin(),m_SendBuffer.end(),0);
std::copy(EndBody.begin(),EndBody.end(),m_SendBuffer.begin());
SendData();
Senddata nennt nur die entsprechende Menge an Zeit senden und stellt sicher, alles funktioniert, wie es sollte.
Wie auch immer. Wenn ich den Vektor vor jeder Verwendung nicht auf Null setze, bekomme ich Fehler mit Überlappungen. Gibt es einen effizienteren Weg für mich, das zu tun, was ich tue? Weil es so aussieht, als wäre es völlig ineffizient, den gesamten Puffer bei jedem Aufruf auf Null zu setzen.
Danke.
Beitrag der Code für Send() –
Hoppla, Senddata(), ich meine –
Was wollen Sie eigentlich zu tun? – janm