Amigo
CalgaryCorpus, he aumentado el tamaño del buffer y el bot ya no cae, pero se me ocasiona otro problema, el buffer deja de recibir información y en esta línea:
Código C++:
Ver originalnret = recv(iSocket, recvbuf, 256, 0);
En mi otro código de Python, ese 256 está en 1024... mucha diferencia.
Pego aquí parte del código:
Código C++:
Ver originalwhile (1) {
memset(&sendbuf
, 0, sizeof(sendbuf
)); memset(&recvbuf
, 0, sizeof(recvbuf
));
nret = recv(iSocket, recvbuf, 256, 0);
if(nret == SOCKET_ERROR) {
cout << "Error: No se ha podido conectar con el Servidor" << endl;
break;
}
string Ping = string(recvbuf);
string Pingg = Ping.substr(0,4);
vector<string> arr;
arr=split(Ping,"\n");
string hola;
for(size_t i=0;i<arr.size();i++)
hola = arr[i].c_str();
string pepito = hola.substr(0,4);
int TotalChars = Ping.length();
string PONG = "PONG " + hola.substr(5,TotalChars) + "\r\n";
char *probar = strdup(PONG.c_str());
cout << recvbuf << endl;
if (pepito
== "PING") nret
= send
(iSocket
, probar
, strlen(probar
), 0); }
Espero que me ayuden como siempre!! Gracias amigos.
Las variables tienen ese pésimo nombre, pero luego cuando lo voy terminando al código de a poco, voy renombrando las variables y les asigno un nombre correcto.