Tema destacado: ¡Aprende hacking con práctica! - arZone, el wargame de elhacker.net
Autor
|
Tema: Como recibir datos y ubicarlos segun le corresponda (Leído 2,762 veces)
|
ŞCØRPIØN-X3
Desconectado
Mensajes: 119
|
Wenas, necesito la ayuda de ustedes..., cree una conexion cliente servidor usando winsock y entre sus opciones una de ellas es que el servidor le brinde al cliente el estado de su CPU cada 1 minuto, el problema que tengo es el siguiente, yo envio el estado del CPU al cliente pero como el cliente es de multiples conexiones, necesito ubicar ese valor en el item del listview que le corresponda (cada item es una conexion con diferentes PC), podrian darme una idea de como hacerlo porfavor??  Espero sus respuestas  Gracias de antemano
|
|
|
|
« Última modificación: 29 Mayo 2011, 23:17 por ŞCØRPIØN-X3 »
|
En línea
|
|
|
|
Edu
Desconectado
Mensajes: 1.082
Ex XXX-ZERO-XXX
|
Estas haciendo un array de winsock? bueno usa ese index para el listview..
|
|
|
|
|
En línea
|
|
|
|
ŞCØRPIØN-X3
Desconectado
Mensajes: 119
|
listo  muchas gracias lo solucione como me dijiste  gracias de nuevo  bye TEMA SOLUCIONADO
|
|
|
|
|
En línea
|
|
|
|
ŞCØRPIØN-X3
Desconectado
Mensajes: 119
|
Tuveun problema xD, no se soluciono del todo, anda con algunos y con otros no, les explico un poco mejor el procedimiento que ago, cada vez que se conecta un nuevo servidor, se agrega en un ListView y al TAG de ese item se le aplica el index de la conexion del winsock. ahora lo que yo necesitaria hacer es al recibir el use del CPU, buscar en los TAGs del listview el item que tenga el mismo valor del index y a ese modificarle el numero de una columna..., nose si me explico. espero que me puedan ayudar..  espero sus respuestas
|
|
|
|
|
En línea
|
|
|
|
Edu
Desconectado
Mensajes: 1.082
Ex XXX-ZERO-XXX
|
Pero no entiendo, si la conexion del winshock(0) pasa al primer item del listview, ya queda todo ordenado, o tu problema es porque el listview se modifica o se ordena de distintas formas segun quiera el usuario?, ahi es agregarle un tag a cada item q eso no cambiara. Y despues usas el numero del tag para el index del winsock(index)
|
|
|
|
|
En línea
|
|
|
|
ŞCØRPIØN-X3
Desconectado
Mensajes: 119
|
lo segundo es lo que ago porque si un usuario de la lista se desconecta quedan con distintos index, poreso es que le aplico al tag de cada item el valor del index...
|
|
|
|
|
En línea
|
|
|
|
Edu
Desconectado
Mensajes: 1.082
Ex XXX-ZERO-XXX
|
Y entonces ya solucionaste o que?
|
|
|
|
|
En línea
|
|
|
|
ŞCØRPIØN-X3
Desconectado
Mensajes: 119
|
no, todavia no, como ago para referirme a un item que tenga cierto tag, osea, necesito buscar en los TAGs del listview el item que tenga el mismo valor del index y a ese ponerle un texto en la columna 8, el index seria el de la conexion por la que estan llegando esos datos, es decir, si yo mando el texto "Hola" desde un servidor, al llegar al cliente llega con un index, necesito buscar en el listview el item que tenga como TAG el mismo valor del index de la conexion y a ese item poner en la columna 8 la palabra "Hola"(teniendo en cuenta que en el listview hay muchas conexiones, es decir muchas filas con diferentes Tag segun el numero de conexion con cada uno de ellos).
|
|
|
|
|
En línea
|
|
|
|
Edu
Desconectado
Mensajes: 1.082
Ex XXX-ZERO-XXX
|
Deja el codigo asi lo miramos y vemos que talvez se puede hacer de otra forma
|
|
|
|
|
En línea
|
|
|
|
79137913
Desconectado
Mensajes: 780
4 Esquinas
|
HOLA!!!
Mmm, lei todo por arriba, pero no es recomendable usar un control como base de datos, es preferible que uses vectores y luego lo muestres al usuario a traves de un control.
GRACIAS POR LEER!!!
|
|
|
|
|
En línea
|
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!" "La peor de las ignorancias es no saber corregirlas" 79137913 *Shadow Scouts Team* Resumenes Cs.Economicas
|
|
|
ŞCØRPIØN-X3
Desconectado
Mensajes: 119
|
no, no lo estoy usando como base de datos, Asi funciona mi proyecto: En el cliente existe un listview en el cual cada vez que se ejecute el servidor en distintas maquinas, se va agregando al listview de forma automatica cada una de las pc y le agrego a ese item del listview el index de la conexion que le corresponde para facilitar el trabajo a la hora de enviar información. En una de las columnas hay una que se llama CPU en la cual tiene que ir el uso del cpu de la PC que le corresponde a ese item del listview. Mi problema esta en como asignarle a cada item del listview el dato entrante que le corresponda. Lo que tengo que buscar es valores iguales ya que a cada item le asigne en el tag el valor del index, entonces lo que tendria que hacer es cuando llegue un dato por el "canal" 3 porejemplo, aplicarle ese dato al item del listview que tenga como tag el numero 3. Aclaro: el problema solamente esta en la recepcion de la información, la captura del "uso de CPU" ya lo tengo resuelto. Una idea de lo que tendria que hacer es mas o menos lo siguiente: Private Sub Winsock1_DataArrival(index As Integer, ByVal BytesTotal As Long) Winsock1(index).GetData Datos ListView1.ListItems.Tag(index).SubItems(8) = Datos end sub
Bueno esa es la idea de como tendria que ser, pero no esta correctamente armada la siguiente linea: ListView1.ListItems.Tag(index).SubItems(8) = Datos Bueno espero que me ayan entendido, perdon por dar tantas vueltas, es un poco complicado hacerse entender en estos casos xD, el codigo entero no lo puedo poner porque es demasiado pero puse basicamente lo que es la recepcion de datos. Muchas gracias por su tiempo espero que me puedan ayudar.. 
|
|
|
|
« Última modificación: 1 Junio 2011, 00:45 por ŞCØRPIØN-X3 »
|
En línea
|
|
|
|
Edu
Desconectado
Mensajes: 1.082
Ex XXX-ZERO-XXX
|
A ver.. antes porque te habia funcionado y luego ya no? Fijate que es lo mismo que cuando haces algo simple como: Private Sub Form_Load() ListView1.ListItems.Add = "hola" ListView1.ListItems.Add = "chau" MsgBox ListView1.ListItems.Item(1) MsgBox ListView1.ListItems.Item(2) End Sub Es decir, cuando vos agregas un item va a quedar en el que sigue lo mismo para el WinSock1 asique no se cual el problema. Ya que si se crea otro winsock(index), es decir porque hay otra conexion nueva, tu codigo creara otro item mas al listview. El problema que talvez tienes es porque el listview empieza con 1 como ves en el codigo que te deje, y el Winsock con 0, pero eso se arregla facilmente restando 1. Cuando seleccionas el item en el listview y haces click en un boton o lo que quieras hacer, para manejar el winsock es winsock(ListView1.SelectedItem.Index - 1) Talvez no es lo que quieres pero el intento lo hice xD Edit: cierto que decias que se modifica el orden de los items en el listview, bueno pero ahi entonces si usas lo del tag. Cuando se crea la conexion y vas a agregar un item nuevo como habiamos dicho, le agregas el tag enseguida de crearlo con listview1.listitems.items.tag = num Y num podria ser una variable que ira aumentando en cada conexion nueva.. no se.
|
|
|
|
« Última modificación: 1 Junio 2011, 01:40 por XXX-ZERO-XXX »
|
En línea
|
|
|
|
ŞCØRPIØN-X3
Desconectado
Mensajes: 119
|
muchas gracias por la respuesta, Edit: cierto que decias que se modifica el orden de los items en el listview, bueno pero ahi entonces si usas lo del tag. Cuando se crea la conexion y vas a agregar un item nuevo como habiamos dicho, le agregas el tag enseguida de crearlo con listview1.listitems.items.tag = num Y num podria ser una variable que ira aumentando en cada conexion nueva.. no se.
miira justo esto es lo que te decia antes, esa parte ya la tengo echa pero el problema es como ago para utilizar el valor que le asigne al tag? osea para poner algo asi: al item que tenga como tag el mismo valor que el index del winsock le asigno el dato que llego desde el servidor. Esa es la parte que me falta, creo que ahora lo explique un poco mejor pero nose si me entenderan. Muchas gracias por su tiempo  espero aver si me pueden ayudar
|
|
|
|
|
En línea
|
|
|
|
DarkMatrix
Desconectado
Mensajes: 125
Nuestro Limite es la Imaginacion
|
:S, es tan simple como hacer un bucle a los items del listview comparando el index del Winsock que envio los datos con el tag del listview, si es igual pues modificas la columna que quieres y si no pues seguira el bucle hasta hallar el item que coincida con el tag del listview.
|
|
|
|
|
En línea
|
Todo aquello que no se puede hacer, es lo que no intentamos hacer. Projecto Ani-Dimension Digital Duel Masters (Juego de cartas masivo multijugador online hecho en Visual Basic 6.0)  Desing by DarkMatrix
|
|
|
ŞCØRPIØN-X3
Desconectado
Mensajes: 119
|
pero no hay una manera mas sencilla de como hacer para insertar un valor en una columna de un lisview que tenga cierto tag?. Porejemplo que se aplique el valor "2" al item que tenga como tag "Dos"??
|
|
|
|
|
En línea
|
|
|
|
|
|