elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


  Mostrar Mensajes
Páginas: 1 [2] 3
11  Programación / Programación Visual Basic / Re: Pregunta para Super Guru o tal vez no en: 9 Julio 2007, 17:07 pm
Citar
Después unicamente cojes el byte que quieras enviar, y lo envías junto con la posición en la que se encuentra en tu archivo

Esa es otra cosa que todavía no se como sera la mejor manera de Hacerlo

- Un array de 2 dimensiones?
  Cambios(posicion, byte)
  que tal se llevan los arrays de 2 dimensiones con Winsock?

- Un array de string
  Cambios("23#45") 

Teniendo en cuenta que la mi prioridad es la rapidez, no se que hacer

 ;D ;D
12  Programación / Programación Visual Basic / Re: Pregunta para Super Guru o tal vez no en: 9 Julio 2007, 16:55 pm
La historia es que yo no uso ningun archivo, me ahorro ese paso.

Ni si quiera uso una Picturebox en el servidor para contener la imagen capturada, en su lugar uso las APIS  "CreateCompatibleDC", "CreateCompatibleBitmap".

No obtengo el "Byte Array" de un archivo previamente guardado, lo obtengo directamente de la imagen capturada.

El dilema ahora es que para usar el metodo de comparar cambios en imagenes , necesito comparar diferencias entre 2 "Byte arrays" y me tarda mucho Milisegundos entre (100 y 400), parece mentira pero puede que me no compense hacer comparaciones, si bien en la velocidad de transmision de datos ganare mucho, en el procesamiento de la imagenes perdere mucho, necesito encontrar un codigo rapido que haga las comparaciones arrays y me de otro array con los cambios, ahora estoy con eso solo he encontrado un codigo que me puede resolver la papeleta pero tengo que depurarlo y entenderlo muy bien.

Saludos  ;D ;D ;D

13  Programación / Programación Visual Basic / Re: Pregunta para Super Guru o tal vez no en: 8 Julio 2007, 17:33 pm
Hendrix se puede hacer de forma cutre, si cojes el array de bytes del bitmap con 4 bits (16 colores) u 8 (256) bits de definicion ,si te coinciden muchisimos pixel pero pierdes mucha calidad.

Con "color real" 24 , 32 bits el minimo e inapreciable cabio de luz , cambia todos los pixels, nigun fotograma es igual al anterior aunque lo parezca, te lo digo por experiencia
14  Programación / Programación Visual Basic / Re: Pregunta para Super Guru o tal vez no en: 8 Julio 2007, 16:25 pm
Si señor ,no se me habia ocurrido, asi los datos por cada fotograma a enviar son muchisimo menores.

Lympex me puedes decir de donde sabes tu eso, conoces algun Link, Manual, Codigo o algo.

Me gustaria saber como de forma simple y limpia, Comparando 2 Byte Array, le mando informacion al cliente de los "Bytes Cambiados" y la "Posicion", a primera vista se me ocurre un Array de 2 dimensiones, pero eso ya no me gusta y se me podria complicar el tema .

Gracias Lympex  ;D ;D ;D
15  Programación / Programación Visual Basic / Re: Pregunta para Super Guru o tal vez no en: 8 Julio 2007, 00:11 am
Otro esquemilla:

Do While Parar = False
   BitBlt Pic1.hdc, 0, 0, Screen.Width, Screen.Height, DK_DC, 0, 0, vbSrcCopy
   Pic1.Refresh
   MyGetDIBits     '-----Procedimiento que crea el Array
   DoEvents
Loop

Private Sub MyGetDIBits()
  Bla, Bla,Bla
  CompressByteArray  XArray  '-----------Aqui se llama para comprimir el Array
  EnviaByteArray XArray          '-----Procedimiento que parte y Envia
End Sub


Private Sub EnviaByteArray()
Bla,Bla, Bla     '------Se envia
End Sub


Voy a probar a meter DoEvents por todas partes por que ademas hay otro pequeño fallo en elcual cada 1 o 2 segundos aveces me llega 1 fotograma defectuoso , como si le faltara un color al televisor, se ve o rojizo o verdoso y eso es porque el Byte Array no se recompone corretamente  y le faltan algunos datos y estoy casi seguro que es porque va a toda ostia (1 fotograma cada 60 milisegundos  o 200 milisegundos en el peor de los casos "Medido en Local") y no le da tiempo a hacer todos los pasos  que tiene correctamente, si pongo DoEvents por todas partes para que termine cada paso a lo mejor lo soluciono, o si hago lo de que el cliente confirme la receppcion tambien


Saludos !!!!!





16  Programación / Programación Visual Basic / Re: Pregunta para Super Guru o tal vez no en: 7 Julio 2007, 23:50 pm
Bueno he de decir que: 

Acabo de terminar un sencillo proyecto para pruebas sobre esta idea y es la primera prueba que hago, supongo que se podra mejorar, hay es donde quiero que me aconsejeis.
La question es esa, se puede Optimizar sin perder velocidad o no mucha y rebajar uso CPU.

Lo he probado en Local con lo que mi PC hace las veces de Cliente y Servidor, aunque no creo que haciendo solo de servidor se reduzca el uso de CPU.

Lympex:
Citar
mejor que limitar el uso de cpu, revisa el código de tu programa, y optimízalo

Esa es la question , se podra optimizar sin perder velocidad, si lo optimizo para que me mande un fotograma por segundo o dos, pues ya no tiene gracia.



Hendrix:
Citar
Si lo que estas aplicando tu es un bucle que capture frames peus asi es normal que consuma mucho CPU, si estas utilizando un bucle, intercala en ese bucle la instrucción DoEvents, para que no consuma tanta CPU

Si Hendrix, era la primera prueba y no me he complicado, le he puesto un DO,DoEvents,LOOP simplemente para ver si me funcionaba, y funciono entre ""

Lo que dice Tughack me da buena espina, en un pricipio pensaba que tendria que hacerlo asi para que funcionara, pero funciono sin que el cliente confirmara la imagen recibida, me sorprendi de que funcionara sin esto, pense que se produciria un Caos y un Desfase entre cliente y servidor. tal vez haciendo esto  y quitando el DO LOOP consiga algo.

Un esquema:
----------------------
SERVER:
1 Captura de pantalla
2 GetDiBits - crea "Array de Bytes" con la informacion de la imagen
3 Comprime Array
4 Extrae Trozo y Envia,  Extrae Trozo y Envia,  Extrae Trozo y Envia ..............

CLIENT:
1 Va juntando,  Va juntando, Va juntando .................
2 Descomprime Array
3 SetDiBits - Muestra la imagen

Bueno ya os contare, y si teneis mas sugerencias !!!


 :D :D  ::) :D :D


17  Programación / Programación Visual Basic / Pregunta para Super Guru o tal vez no en: 7 Julio 2007, 20:30 pm
Hola !!!

Pues bien he hecho un sistema de captura de pantalla bastante rapido, el problema es que en la aplicacion servidor se dispara el uso de CPU al 100%,
y eso no me gusta nada, hay alguna manera de limitar el uso de CPU para una aplicacion de Visual Basic, estaria mejor que estubiera al 80% por ejemplo.

Alguien me da una respuesta? gracias


Un saludo  :rolleyes: :rolleyes: :rolleyes:

18  Programación / Programación Visual Basic / Re: Moderador de visual basic 6.0 en: 23 Junio 2007, 20:11 pm
Voto a Eon o Hendrix
19  Programación / Programación Visual Basic / Re: Moderador de visual basic 6.0 en: 23 Junio 2007, 20:08 pm
A mi me gustaria ser Merodeador  ;D ;D ;D
Prefiero permanezer en la sombra, de todas maneras tenia menos posibilidades de ganar estas elecciones, que Zapatero las siguientes generales.

Saludos gente !!!!!!  ;D ;D ;D ;D ;D
20  Programación / Programación Visual Basic / Re: Problema de Variables en: 21 Junio 2007, 18:30 pm
Ya se que se puede hacer asi, la verdad es que no es un problema muy grave, tengo esa opcion que es la normal.

Pero estoy dejando el codigo bonito comentado y entendible, y queria que me quedasen arriba ya con su valor , con los comentarios de que es cada cosalos valores esque estoy, y dejar los procedimientos menos cargados de codigo.

Por cierto lo habeis probado vosotros, ya es por curiosidad, os a funcionado o el MSDN debe estar equibocado?

Dim startingAmount As Long = 500  'va o no va?


;D ;D ;D

Páginas: 1 [2] 3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines