Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - boy-ka

#21
Hola amigos, tengo un servidor y una conexión entre el cliente y el servidor, en el cuál el cliente puede enviar capturas de pantalla al servidor.

El problema es que aveces las imágenes llegan completa, otras veces llegan a mitad, y desde que llega a mitad, cuando vuelvo a tratar de enviar otra imágen aveces los bytes ni llegan bien.

Aquí les dejo el código del cliente y el servidor, a ver si me ayudan por favor he estado muchas horas rompiendome la cabeza a ver que pasa, he llegado a pensar que no capturo los bytes suficiente, pero como ven convierto la cadena a string y luego la convierto a byte con la longitud de bytes que debe tener la imagen, tampoco explicaría el por qué aveces las imagenes llegan bien, bueno aqui el código del cliente:

Código (csharp) [Seleccionar]

                //Capturo la imagen de la pantalla
                Bitmap bmCaptura = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
                Graphics captura = Graphics.FromImage(bmCaptura);
                captura.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size);

                MemoryStream stream = new MemoryStream();
                bmCaptura.Save(stream, ImageFormat.Jpeg);
               
                byte[] byteArray = stream.ToArray();

                //Envio los bytes al servidor.
                NetworkStream net = conectarme.send_server;
                net.Write(byteArray, 0, byteArray.Length);
                net.Flush();


SERVIDOR:

Código (csharp) [Seleccionar]

//Recibo la imagen del cliente y la guardo en un archivo.
                TcpListener server = new TcpListener(IPAddress.Any, puerto);               
                TcpClient client = server.AcceptTcpClient();
                NetworkStream stream = client.GetStream();
                byte[] clientData = new byte[90000000];
                int i = stream.Read(clientData, 0, clientData.Length);

                string res = Encoding.Default.GetString(clientData, 0, i);
                byte[] img = Encoding.Default.GetBytes(res);
                File.WriteAllBytes("dataFile.jpg", img);


Como he dicho antes, aveces la imagen llega excelente, pero otras veces no, quisiera que me ayuden aunque no tengan la solución pero me den una pista por lo menos, esto me tiene con mucho estrés.

Saludos y gracias de ante mano.

PD: El cliente se logra conectar al servidor, pero me ahorré el código porque estaba en otra clase y me daba palo copiar, pero nah que ver, la conexión se realiza bien, el problema está en el envio de la imagen.

EDITADO POR FALTAS ORTOGRÁFICAS N_N
#22
Cita de: Eleкtro en  8 Mayo 2015, 12:02 PM








:¬¬ ( de nada, boy-ka, un placer ayudarte desde el gremio de elektricistas ) :¬¬

Hahahaha  :rolleyes: no te enojes :c te lo dije de broma lo de elektricista xD
#23
Cita de: Eleкtro en  8 Mayo 2015, 06:10 AM
Youtube utiliza tecnología DASH (Dynamic Adaptive Streaming over HTTP) playback, que consiste en dividir el video en segmentos por motivos de seguridad y rendimiento, el primer segmento se pre-carga en el buffer, pero el siguiente segmento no empezará a pre-cargarse en el buffer hasta que estés a punto de terminar la reproducción del segmento actual, y así hasta el final del video con el resto de segmentos,
de esta manera Youtube consigue optimizar la fluidez de sus servidores limitando el ancho de banda que usan.

Existe una solución automatizada, es una extensión para el navegador (para varios navegadores) llamada Youtube Center, te la puedes descargar aquí:
https://github.com/YePpHa/YouTubeCenter/wiki

Basicamente se trata de acceder a la configuración y desactivar la casilla de "DASH playback", toma un tutorial, para que no te pierdas:
http://www.digitaltrends.com/computing/how-to-speed-up-youtube-buffering-and-playback/

Y por último, ten en cuenta esto:
Saludos

Gracias elektricista <3 me has salvado la vida.
#24
Cita de: engel lex en  8 Mayo 2015, 04:29 AM
no me sucede(en windows, ni linux)... no será que tu ram o discoduro están llenos?

No creo, tengo 4 GB de ram y de espacio en el disco duro 85 GB :( prueba con una pelicula :c y dejala cargar sin darle a play es que ami me pasa y he probado en otros ordenadores y tambien, llega un punto en que el modem deja de pestanear (la luz de ethernet) indicando que ya no se envian más datos, pero si no te pasa pues no se :c

Bueno, gracias de todos modos
#25
Hola gente  :xD a ver mi duda y creo que la de muchos otros es la siguiente:

Cómo puedo hacer que un vídeo no deja de cargarse hasta que termine su carga?
Porque, si por ejemplo ponemos un vídeo en youtube o una película, veremos que carga bien, pero llega un punto en el que ya no carga más hasta que reproduzcas el vídeo.

No se si me he explicado bien, pero pueden hacer una prueba, de poner un vídeo en youtube y no darle al botón de play y verán que una vez ya va adelantado deja de cargar, supongo que esto lo hacen para consumir menos conexión, pero yo quiero saber si hay alguna forma de que el vídeo no deje de cargar hasta que su carga sea completa, ya que tengo una conexión muy lenta, y aunque deja que el vídeo adelante un poco, al fin y al cabo vuelve a pararse.

Mis problemas se resuelven con reproductores que contengan la opción de poner la calidad en 240p, bueno pero en una página de película que veo solo están en 360p y 480p.

Mi duda sería esta amigos, el que pueda ayudarme por favor..
#26
Cita de: engel lex en  4 Mayo 2015, 21:53 PM
la U inicial normalmente indica un código de carácter unicode

es en unicode 2 veces
podemos obviar los 0 a la izquierda y es
y nos lleva a

http://www.fileformat.info/info/unicode/char/1f615/index.htm

posiblemente están comentando desde el celular y usando emojis 😕


Eso creía pero no estaba tan seguro, también creía que era una conspiración illuminati :P:xD
#27
Pero qué rayos!, siempre que veo un vídeo leo los comentarios en Youtube para ver más o menos que opina la gente, y en la gran mayoría de comentarios veo el siguiente texto:

U0001f615U0001f615

Por qué están poniendo eso? es que ya es curioso en cada vídeo que voy y leo los comentarios nunca falta eso xD

PD: Hace unos meses nunca lo veía, alguien sabe?

r_r

O si no ponen algo así
U0001, o parecido.

Gracias por la aclaración (DE ANTE MANO)
#28
Cita de: engel lex en  4 Mayo 2015, 01:02 AM
usa la etiqueta <pre> está para ese fin

Hahhaa joder si, gracias es que no me acordaba xD
#29
Dudas Generales / Problema de texto en html
4 Mayo 2015, 00:58 AM
Hola amigos, quisiera saber como puedo poner este texto en html

  _____                   
  / ____|                 
| (___  _ __   __ _ _ __ 
  \___ \| '_ \ / _` | '_ \
  ____) | | | | (_| | |_) |
|_____/|_| |_|\__,_| .__/
                    | |   
                    |_|   

Es un texto en art ascii que dicen Snap, pero cuando lo pongo en html dentro de la etiqueta

<p>

No lo lee, en qué etiqueta debería ir puesto este texto para que se muestre completo?
gracias de ante mano R_R
#30
Cita de: Eleкtro en 19 Abril 2015, 07:53 AM
Los requisitos de consumo de RAM se pueden obtener realizando diversos tests (del mínimo y los picos de consumo) con aplicaciones dedicadas a analizar las operaciones de memoria de "X" aplicación, a este tipo de técnica se le denomina Profilling, existe el profilling de memoria, y el profilling de rendimiento (que nada tiene que ver). A este tipo de herramientas se les da utilidad para depurar aplicaciones en busca de conflictos de consumo excesivo de RAM (o lento rendimiento de la aplicación).

Por nombrar algunas herramientas, para la plataforma .Net puedes recurrir a Telerik JustTrace, y ANTS Memory Profiler + ANTS Performance Profiler entre otros, por orden de preferencia personal.

Para un análisis genérico puedes recurrir a la herramienta VMMap, no conozco más ya que no desarrollo aplicaciones en otros lenguajes.

PD: Eso de probar la app en varios PCs para sacar estadísticas es una auténtica bobada, eso lo hacen las grandes empresas (a lo Microsoft) en busca de bugs, beta-testers, y quizás aprovechen para registrar estadísticas de consumo RAM y rendimiento sí, pero el programador "normal", el autónomo cómo tu y cómo yo, prueba la app en una máquina virtual y allí se realizan los diversos análisis, ya que puedes condicionar el entorno de la VM para "quitarle" o "darle" requisitos cómo por ejemplo concederle más memoria virtual o instalar unas runtimes específicas para testear la app, y además puedes utilizar varios sistemas operativos (varias VM) para elaborar informes de resultados con más seguridad.

Saludos

EXCELENTEEE!!!, GRACIAS ELEKTRICISTAS :P!

Wow, saludos me has aclarado un montón de dudas que aún tenia, gracias de verdad.