Título: CreateThread o CreateProcess Publicado por: AlbertoBSD en 21 Septiembre 2016, 17:07 pm 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: Código
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! Título: Re: CreateThread o CreateProcess Publicado por: HardForo en 21 Septiembre 2016, 17:41 pm La facil es compilar con Cygwin :) te va a funcionar fork() como esperas ;-)
Título: Re: CreateThread o CreateProcess Publicado por: AlbertoBSD en 21 Septiembre 2016, 17:48 pm Tengo Cygwin y funciona bien, el detalle que como voy a distribuir la aplicación, quiero que sea lo mas estándar posible (Acorde a cada sistema) y que dependa de la menor cantidad de recursos externos.
Saludos! Título: Re: CreateThread o CreateProcess Publicado por: ivancea96 en 21 Septiembre 2016, 17:53 pm Yo lo haría con threads. De hecho, el de unix también lo haría con threads. Además, así no tendrías que hacer mucho cambio.
Título: Re: CreateThread o CreateProcess Publicado por: AlbertoBSD en 21 Septiembre 2016, 18:04 pm Si ya vi que lo que necesito es un thread nuevo lo cual seria lo mas parecido a fork aun que con ligeros cambios
Estoy validando este ejemplo de Windows: https://msdn.microsoft.com/en-us/library/windows/desktop/ms682516(v=vs.85).aspx (https://msdn.microsoft.com/en-us/library/windows/desktop/ms682516(v=vs.85).aspx) Código
Aunque parece complicado veo que no esta dificil de implementar y ajustar a mi proyecto, lo que si tengo que hacer es una función nueva que seria el equivalente a lo que tengo dentro del switch incluso estoy dejando las 2 versiones con la misma cantidad de lineas y solo dejo huecos donde existe diferencia entre una version y la otra Saludos! |