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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Problema Socket Visual Basic 6.0
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema Socket Visual Basic 6.0  (Leído 3,637 veces)
mateo2011

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Problema Socket Visual Basic 6.0
« en: 13 Octubre 2011, 14:52 pm »

Tengo un juego MMROPG Masivo 2D conocido como Argentum Online.

Utiliza Winsock TCP/IP
Y resulta que tras varias pruebas en el ping, los paquetes llegan en tiempos de 20ms a 250ms.
Tras profundizar el tema, me di cuenta que al enviar una cantidad constante de paquetes se comienza agrandar el ping y los paquetes tardan 250ms en llegar al destino.
Tras varias pruebas vi que si envias 1 paquete cada 50ms y haces que el servidor lo detecte y lo retorne se puede mantener un ping constante de 50-70ms.
Pero eso con mas de 50 conneciones me satura todo y me chupa mucho bando de ancha.
Y este juego para la buena jugabilidad necesita si o si pings menores a 100.

Pense usar UDP y de echo lo hize pero los Winsockets en UDP se me perdian todos los paquetes auque el PING era muy bajo MUY BAJO (9-15ms).
Para que me tire ese ping en el protocolo TCP/IP tengo que estar sin actividad de paquetes.
Utiliza manejo de datos de forma binaria escribiendo bytes/integers/longs y leyendolos.

¿Alguna idea?
Gracias ^^


En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Problema Socket Visual Basic 6.0
« Respuesta #1 en: 13 Octubre 2011, 15:34 pm »

Lo unico que te podremos decir es que trates de economizar todo. No envies strings a cada rato, trata de enviarlos una vez y ahi envias identificadores, que sea todo numero :)

Y si dices que el servidor con 50 conexiones te satura el ancho de banda... pues comprate otra conexion, como quieres llamar un server MMO si solo soporta 50 conexiones :xD


En línea

mateo2011

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Problema Socket Visual Basic 6.0
« Respuesta #2 en: 13 Octubre 2011, 19:47 pm »

Por eso mismo... Se aguante 200 usuarios tranquilamente.
Cuando le pongo para enviar 1 paquete cada 50ms de envio y recivo, mejora el PING entre 50-70ms y es muy jugable pero a los 50 usuarios se laguea todo.

El host que tengo es bueno, un VPS de 512 de ram, 2 nucleos, y 10mb de conexión simetrica y tira 9ms-16ms con el PING.

Lo de optimizar paquetes lo hice al maximo.
Pero un usuario en movimiento manda 1 paquete cada 200ms (5 paquetes por segundo) y esa suma se multiplica dependiendo la cantidad de usuarios en pantalla.
En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Problema Socket Visual Basic 6.0
« Respuesta #3 en: 13 Octubre 2011, 22:09 pm »

No creo que el lag se haga por la conexion (si es que son 10mb simetricos reales... o al menos 7mb)... sino por el procesamiento del server :rolleyes:
En línea

mateo2011

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Problema Socket Visual Basic 6.0
« Respuesta #4 en: 13 Octubre 2011, 22:44 pm »

No creo que el lag se haga por la conexion (si es que son 10mb simetricos reales... o al menos 7mb)... sino por el procesamiento del server :rolleyes:

En localhost funciona a 5 a 0ms tomando el PING con QueryPerfomance.
Y ese PING es constante.

Probe usando los Sockets en un programa externo y pasaba lo mismo.
Para mi es algo de los Winsockets o de Visual Basic.
En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Problema Socket Visual Basic 6.0
« Respuesta #5 en: 13 Octubre 2011, 23:39 pm »

En localhost funciona a 5 a 0ms tomando el PING con QueryPerfomance.
Y ese PING es constante.
Localhost? :| probas en local? proba en 2 pc con 2 conexiones distintas :P
En línea

mateo2011

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Problema Socket Visual Basic 6.0
« Respuesta #6 en: 14 Octubre 2011, 00:41 am »

Localhost? :| probas en local? proba en 2 pc con 2 conexiones distintas :P

Con 2 clientes nada mas no se mandan los suficientes paquetes para laguear.
Cuando hay peleas de 2 usuarios anda perfectamente.

Pero las peleas normalmente superan los 5 usuarios, entonces al mandar tanta cantidad de paquetes para actualizarles la posicion comienza andar muy mal.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
problema con visual basic
Programación Visual Basic
ObImAn 1 1,171 Último mensaje 20 Marzo 2006, 23:45 pm
por ObImAn
Cual se utiliza mas actualmente Visual Basic o Visual basic.net?
Programación Visual Basic
Axus 9 13,276 Último mensaje 4 Julio 2009, 07:00 am
por el_c0c0
[Ayuda] Sniffer en visual basic, para visual basic
Programación Visual Basic
The_Shakah 8 10,731 Último mensaje 18 Agosto 2010, 19:35 pm
por _katze_
problema socket internet
Java
netastra 2 1,755 Último mensaje 12 Octubre 2013, 14:45 pm
por ThinkByYourself
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines