Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/04/2015, 11:29
Ace_Slelt
 
Fecha de Ingreso: agosto-2010
Mensajes: 20
Antigüedad: 13 años, 8 meses
Puntos: 0
Pregunta Sockets Congelado

Tengo este codigo, el cual se conecta a un servidor en un ordenador de la red local.
Código:
tcppeer.sin_family = AF_INET;
	tcppeer.sin_port = htons(puerto);
	tcppeer.sin_addr.s_addr = inet_addr(ip);

	tcp_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);

	if (tcp_socket != INVALID_SOCKET)
	{
		WriteDebug("a", "opened succesfully\n");
		rt = opened;
	}
	else {

		sprintf(temp, " opening error : %d \n", WSAGetLastError());
		WriteDebug("a", temp);
		rt = off;
	}

	if (connect(tcp_socket, (struct sockaddr*)&tcppeer, sizeof(tcppeer)))
	{
		closesocket(tcp_socket);
		sprintf(temp, "Unable to connect server :host %s: %u, error: %u \n", ip, puerto, WSAGetLastError());
		WriteDebug("a", temp);
		rt = off;
	}
Mi problema es que si el servidor esta a la escucha conecta perfectamente, si no se queda 1 minuto congelado la aplicacion empieza a poner no responde,etc etc y sigue dentro del ultimo if tan normal. Creo que puede ser un tema de que intenta reconectar muchas veces hasta que se cansa...Como puedo hacer que no este ese minuto congelada la pantalla?

Gracias de antemano!