• Domingo 28 de Noviembre de 2021, 00:25

Autor Tema:  Parametros en Threads y Windows Server 2003 R2  (Leído 1041 veces)

tepeyolotl

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Parametros en Threads y Windows Server 2003 R2
« en: Jueves 3 de Junio de 2010, 17:49 »
0
Hola que tal, pues bien he estado desarrollando una aplicación en C#, que implementa servidores SSL y por lo tanto Threads, la aplicación en la máquina de desarrollo (WinXP Pro, VS2008) funciona de maravilla tanto debug como release, sin embargo cuando la ejecuto en la máquina donde quedara instalada (Windows Server 2003 R2, .net Framework 3.5 SP1) simplemente se muere, sin dar aviso ni nada por el estilo (ni siquiera registra excepciones en los logs). Ahora al momento de revisar los logs, me doy cuenta de que al parecer al inicializar un thread ocurre un error al leer los parametros del mismo, ya que se corta cuando se trata de leer alguno de ellos.

Asi inicio el thread:
Código: C#
  1. ListeningThread = new Thread(new ParameterizedThreadStart(ServerThread));
  2.                 ListeningThread.Name = "ListeningThread";
  3.                 ListeningThread.IsBackground = true;
  4.                 ThreadList.Add(ListeningThread);
  5.  
  6.                 myLog.Add("{ThID:{" + Thread.CurrentThread.ManagedThreadId.ToString() + "}Thread de servidor lanzado");
  7.                
  8.                 string Datos = ListeningIP.ToString() + ":" + Port.ToString();
  9.                 ListeningThread.Start((object)Datos);
  10.  


Y este es el thread que ejecuto:
Código: C#
  1. public void ServerThread(object EndPoint) //EndPoint = IP:Puerto (en string)
  2.         {
  3.             // Crea un socket TCP/IP (IPv4) y escucha por conexiones.
  4.             try
  5.             {
  6.                 string Parametros = (string)EndPoint;
  7.                 myLog.Add("--ThID:{" + Thread.CurrentThread.ManagedThreadId.ToString() + "}Datos recibidos en el thread: " + (string)EndPoint);
  8.                 string[] Datos = Parametros.Split(':');
  9.                 if (Datos.Length < 2)
  10.                     throw new Exception("Error en parametros");
  11.                 System.Net.IPAddress LocalIP = System.Net.IPAddress.Parse(Datos[0]);
  12.                 int LocalPort = Int32.Parse(Datos[1]);
  13.  
  14.                 myLog.Add("--ThID:{" + Thread.CurrentThread.ManagedThreadId.ToString() + "}--Entrando a Thread de Servidor--");
  15.                 myLog.Add("--ThID:{" + Thread.CurrentThread.ManagedThreadId.ToString() + "}--IP para escuchar: " + LocalIP.ToString() + ":" + LocalPort.ToString());                
  16.                
  17.                 TcpListener listener = new TcpListener(LocalIP, LocalPort);
  18.                 myLog.Add("--ThID:{" + Thread.CurrentThread.ManagedThreadId.ToString() + "} Datos Listener" + listener.LocalEndpoint.ToString());//+ "--" + listener.Server.LocalEndPoint.ToString());
  19.                 listener.Start();
  20.  
  21.                 myLog.Add("--ThID:{" + Thread.CurrentThread.ManagedThreadId.ToString() + "}TCP Listener creado y funcionando");
  22.                
  23.                 do
  24.                 {
  25.                     myLog.Add("--ThID:{" + Thread.CurrentThread.ManagedThreadId.ToString() + "}Esperando por clientes");
  26.                    
  27.                     TcpClient client = listener.AcceptTcpClient();
  28.  

Alguien tiene ideas de que es lo que pueda estar pasando? A mi ya se me están acabando las ideas  :( . De antemano gracias.

Jeysscarr

  • Miembro MUY activo
  • ***
  • Mensajes: 134
  • Nacionalidad: co
    • Ver Perfil
Re: Parametros en Threads y Windows Server 2003 R2
« Respuesta #1 en: Jueves 3 de Junio de 2010, 21:40 »
0
Revisa el firewall... ejecutalo en modo de compatibilidad, asi vas desmenuzando posibles causas del error
Nuestro poder está creciendo mas rápido que nuestra sabiduria

tepeyolotl

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Parametros en Threads y Windows Server 2003 R2
« Respuesta #2 en: Viernes 4 de Junio de 2010, 19:12 »
0
Gracias por la respuesta, en cuanto a lo que mencionas:
-El Firewall de Windows está desactivado
-No se ha instalado otra aplicación aquí (es recién formateado el server)
-La instalo y ejecuto como Administrador y nada de esto parece servir.
 :hitcomp: