Estoy haciendo un servidor en C el tema es cual funcion debo elegir como la deberia de aplicar.
Tengo 2 versiones de mi servidor, una para sistemas Unix y otra para Windows.
En unix no hay problema solo hago un fork y asunto resuelto:
Pero no he encontrado una solucion para Windows, el servidor funciona bastante bien, el punto que en windows no es Multihilo aun, y tarda en responder ya que lo hace en orden secuencial.
He visto los siguientes enlaces y aun no doy con una solucion sencilla al tema
http://stackoverflow.com/questions/985281/what-is-the-closest-thing-windows-has-to-fork
http://stackoverflow.com/questions/14642496/any-simple-quick-way-to-fork-on-windows-ansi-c-beginthread-beginthreadex
Repito tengo 2 archivos distintos uno para Windows con winsock y el otro para Unix con Sockets estandar del sistema.
Saludos!
Tengo 2 versiones de mi servidor, una para sistemas Unix y otra para Windows.
En unix no hay problema solo hago un fork y asunto resuelto:
Código (c) [Seleccionar]
if(listen(ListenSocket, BACKLOG) == -1) {
perror("error: listen");
return 1;
}
while(entrar) {
pid = fork();
switch(pid) {
case 0:
//Codigo para el Hijo
break;
case -1:
//Error no fallo Fork
break;
default:
//Get the PID for Parent
break;
}
}
Pero no he encontrado una solucion para Windows, el servidor funciona bastante bien, el punto que en windows no es Multihilo aun, y tarda en responder ya que lo hace en orden secuencial.
He visto los siguientes enlaces y aun no doy con una solucion sencilla al tema
http://stackoverflow.com/questions/985281/what-is-the-closest-thing-windows-has-to-fork
http://stackoverflow.com/questions/14642496/any-simple-quick-way-to-fork-on-windows-ansi-c-beginthread-beginthreadex
Repito tengo 2 archivos distintos uno para Windows con winsock y el otro para Unix con Sockets estandar del sistema.
Saludos!