C sharp - Conectar salida de un proceso con entrada de otro

 
Vista:

Conectar salida de un proceso con entrada de otro

Publicado por Joxean Nieto Espinosa (4 intervenciones) el 04/10/2005 15:03:12
Buenas
Tengo dos subprocesos de una aplicacion. Uno va generando unos datos q necesita el otro en tiempo real. Mi pregunta es como hacer un pipe entre ellos para q se puedan pasar esos datos de manera automatica.

Por si no me he explicado bien, seria programar una especie de linea de MS-DOS del siguiente tipo:
proceso1 - | proceso2 -

El "-" del proceso1 indica su salida estandar de datos y el "-" del proceso2 indica su entrada estandar de datos.

Muchas gracias x adelantado
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 158
Bronce
Ha disminuido 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

RE:Conectar salida de un proceso con entrada de ot

Publicado por Yamil Bracho (1164 intervenciones) el 04/10/2005 18:25:26
El metodo Main recibe un arreglo de String de los parametros que se pasan por linea de comandos. Los comandos son las palabras que vienen porla linea separados por blancos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Conectar salida de un proceso con entrada de ot

Publicado por Jose A. Nieto (4 intervenciones) el 05/10/2005 14:20:47
No debo de haber explicado correctamente mi cuestion:
Se trata de sincronizar dos subprocesos: uno envia datos por su salida estandar y el otro recibe datos por su entrada estandar. Lo que quiero saber es como conectar la entrada estandar de uno a la salida estandar del otro, lo q tecnicamente se llama un pipe.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Conectar salida de un proceso con entrada de ot

Publicado por Edgar (278 intervenciones) el 05/10/2005 15:57:34
Hola

Si estas usando la clase process.. pues yo te recomiendo lo siguiente

La clase process tiene una propiedad StardarInput y StardarOutput..

Lo que debes hacer es leer del StandarOutput del primero y pasarlo al segundo en su StandarInput

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Conectar salida de un proceso con entrada de ot

Publicado por Joxean Nieto (4 intervenciones) el 05/10/2005 19:07:17
Eso es lo q habia intentado hacer antes de escribir ningun mensaje, pero no es posible ya q son clases no equivalentes.

Es principio se `podria escribir en un archivo, parar el proceso escritor, leer lo escrito con el proceso lector, borrar el archivo y reactivar el proceso escritor; pero todo esto es demasiado lento para mis necesidades.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Conectar salida de un proceso con entrada de ot

Publicado por Edgar (278 intervenciones) el 05/10/2005 22:54:54
Hola

A que te refieres con clases no equivalentes???

Yo lo que te digo es que leas la salida estandar del proceso 1 y se la pases al proceso 2, esto debe ser posible si la salida del proceso es hacia tu salida estandar..

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Conectar salida de un proceso con entrada de ot

Publicado por Joxean Nieto (4 intervenciones) el 06/10/2005 14:55:22
Lo q yo necesito es conectar directamente la salida de uno a la entrada del otro, ya q es una aplicacion en tiempo real y no puedo enviar la salida de uno a un buffer , leer ese buffer y escribirlo en la entrada del otro.

Supongo q lo q tu dices q haga es usar algo del estilo de esta linea:
proceso1.StandardInput=new System.IO.StreamWriter(proceso2.StandardOutput);

Pero esto no es posible ya q da el error:
No se puede asignar la propiedad o el indizador 'System.Diagnostics.Process.StandardInput' -- es de sólo lectura
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar