Winsock en tiempo real
Publicado por Deiby (7 intervenciones) el 07/05/2006 02:37:41
--------------------------------------------------------------------------------
hola soy Deiby el preguntando algo cosas de xml y winsock en el foro, me surge una duda espero me puedan ayudar... sucede lo siguiente mando una instruccio SQL por winsock para que sea ejecutada en el servidor.. el servidor me regresara un archivo XML con el resultado del query, de regreso al cliente, le pido que me abra el archivo y me dice que no existe... esto sucede por que el VB no ejecuta la llamada a Winsock en tiempo real, espera a que termine todo el SUB o FUNCTION y luego manda la orden a winsock, entonces el servidor no creo el archivo a tiempo, no se si me explique.
1. Cliente se conecta
2. winsock.senddata "select * from tabla* (el servidor crea un query y lo manda al cliente)
3. datagrid= ARCHIVO_CREADO_POR_SERVER
4. Fin sub
el VB no ejecuta el paso 2 hasta que termina todo el sub, COMO LE PUEDO HACER PARA QUE LO EJECUTE Y ASI YA TENGA EL ARCHIVO EN EL CLIENTE.
PD . Actualmente lo estoy manejando por botones, 1. se conecta, otro hace el winsock, y otr tercer botoon lo pone en el datagrid, asi funcioan ala perfeccion PERO AL JUNTARLOS TODO EN UNO NO FUNCIONAN!!... bueno espero me heches la manita... gacias gracias gracias.. bye
'TODO JUNTO NO JALA
Private Sub Command1_Click()
Winsock1.RemoteHost = InputBox("Introduzca host remoto (IP) ", , Winsock1.LocalIP)
Winsock1.RemotePort = 666
Winsock1.Connect
'----------segundo boton
Dim XML As String
Dim DOC As DOMDocument
Dim XMLL As IXMLDOMElement
Dim PETICION As IXMLDOMElement
Dim DATO As IXMLDOMElement
Dim STRXML As Variant
Set DOC = New DOMDocument
Set XMLL = DOC.createElement("XML")
DOC.appendChild XMLL
Set DATO = DOC.createElement("USER")
DATO.Text = "uswer"
XMLL.appendChild DATO
Set DATO = DOC.createElement("PASSWORD")
DATO.Text = "pass"
XMLL.appendChild DATO
Set DATO = DOC.createElement("PETICION")
DATO.Text = "select NOMBRE,TELEFONO from hoteles"
XMLL.appendChild DATO
STRXML = XMLL.Text
Winsock1.SendData InputBox("datos a enviar", , DOC.XML)
'---------tercer boton
Set dtgListaHoteles.DataSource = XML2RS("c:\windows\temp\myxml.xml")
Kill ("c:\windows\temp\myxml.xml")
End Sub
hola soy Deiby el preguntando algo cosas de xml y winsock en el foro, me surge una duda espero me puedan ayudar... sucede lo siguiente mando una instruccio SQL por winsock para que sea ejecutada en el servidor.. el servidor me regresara un archivo XML con el resultado del query, de regreso al cliente, le pido que me abra el archivo y me dice que no existe... esto sucede por que el VB no ejecuta la llamada a Winsock en tiempo real, espera a que termine todo el SUB o FUNCTION y luego manda la orden a winsock, entonces el servidor no creo el archivo a tiempo, no se si me explique.
1. Cliente se conecta
2. winsock.senddata "select * from tabla* (el servidor crea un query y lo manda al cliente)
3. datagrid= ARCHIVO_CREADO_POR_SERVER
4. Fin sub
el VB no ejecuta el paso 2 hasta que termina todo el sub, COMO LE PUEDO HACER PARA QUE LO EJECUTE Y ASI YA TENGA EL ARCHIVO EN EL CLIENTE.
PD . Actualmente lo estoy manejando por botones, 1. se conecta, otro hace el winsock, y otr tercer botoon lo pone en el datagrid, asi funcioan ala perfeccion PERO AL JUNTARLOS TODO EN UNO NO FUNCIONAN!!... bueno espero me heches la manita... gacias gracias gracias.. bye
'TODO JUNTO NO JALA
Private Sub Command1_Click()
Winsock1.RemoteHost = InputBox("Introduzca host remoto (IP) ", , Winsock1.LocalIP)
Winsock1.RemotePort = 666
Winsock1.Connect
'----------segundo boton
Dim XML As String
Dim DOC As DOMDocument
Dim XMLL As IXMLDOMElement
Dim PETICION As IXMLDOMElement
Dim DATO As IXMLDOMElement
Dim STRXML As Variant
Set DOC = New DOMDocument
Set XMLL = DOC.createElement("XML")
DOC.appendChild XMLL
Set DATO = DOC.createElement("USER")
DATO.Text = "uswer"
XMLL.appendChild DATO
Set DATO = DOC.createElement("PASSWORD")
DATO.Text = "pass"
XMLL.appendChild DATO
Set DATO = DOC.createElement("PETICION")
DATO.Text = "select NOMBRE,TELEFONO from hoteles"
XMLL.appendChild DATO
STRXML = XMLL.Text
Winsock1.SendData InputBox("datos a enviar", , DOC.XML)
'---------tercer boton
Set dtgListaHoteles.DataSource = XML2RS("c:\windows\temp\myxml.xml")
Kill ("c:\windows\temp\myxml.xml")
End Sub
Valora esta pregunta


0