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 - 5v5

#1
Buen dia...Nuevamente por aki...saludos a todos...

Bueno mi duda es sobre un mensajero lan con winsock..bueno mi problema es que no se cuantos Winsock debe de tener para realizar el mensajerito...jejeje

Mi planteamiento es el siguiente, es lo que pretendo hacer pero aun no lo he logrado hacer del todo...espero me den unos cuantos consejos....

Estructura Actual.-

3 controles winsock (WinsockUDP,Winsock1,  Winsock2 () )
cajas de texto y un list box.-

Winsock1 siempre a la escucha

Funcionamiento-

1.- El WinsockUDP esta en escucha, dicho WinsockUDP manda un BroadCast mandando un su nombre de usuario por ejemplo

WinsockUDP.sendData (WinsockUDP.Localhostname & "#Usu#")

2.- Al recibir en WinsockUDP el pakete Broadcast en WinsockUDP_DataArrial(...)

recibe y crea un Winsock1(nuevosocket) y Este nuevo socket solicita una conexion al Winsock1 Al recibir el conection_recuest(..) del Winsock1 este Winsock1 crea un nuevo Winsock2(Nuevosock) y acepta la conexion....

Cuando el Winsock2(nuevosock) creado por el Winsock1, establece el Connection..este Winsock2(nuevosock) manda su nombre de usuario con sendata....para que dicho usuario que se conecto lo agregue a su lista

este es el code que tengo pero no fuenciona del todo....esepro me haya medio explicado




Private Sub Form_Load()
On Error Resume Next
Dim Usuario_Udp1 As String
WinSockUDP.Bind
Winsock1.Close
Winsock1.Listen

Usuario_Udp1 = WinSockUDP.LocalHostName & "#Usu#"
WinSockUDP.RemoteHost = "255.255.255.255"

WinSockUDP.SendData Usuario_Udp1



End Sub
Private Sub WinSockUDP_DataArrival(ByVal bytesTotal As Long)
Dim DatosUdp As String
Dim Usuario_Udp As String
WinSockUDP.GetData DatosUdp


Select Case Len(DatosUdp) >= 0

      Case Right(DatosUdp, 5) = "#Usu#"

           
        If Not Usuario_Udp = Winsock1.LocalHostName Then
                 
                   
            numSocket = NuevoSocket
            Winsock2(numSocket).RemoteHost Usuario_Udp
            Winsock2(numSocket).Close
            Winsock2(numSocket).Connect
                   
        End If
                   
    End Select


End Sub
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
Dim numSocket As Integer 'el numero del socket

'creamos un nuevo socket
numSocket = NuevoSocket
'aceptamos la conexion con el nuevo socket
Winsock2(numSocket).Accept requestID

End Sub
Private Sub Winsock2_Connect(Index As Integer)
'Me.Caption = "Cliente" & "   -   " & "¡ Conexion Establecida !"
'Me.B_Conectar.Caption = "Desconectar"
Enviar_Datos Winsock2(Index).LocalHostName & "#Usu#", Index


End Sub
Private Sub Winsock2_DataArrival(Index As Integer, ByVal bytesTotal As Long)

'variable para guardar los datos
Dim Datos As String
'obtenemos los datos y los guardamos en una variable

Winsock2(Index).GetData Datos

Select Case Len(Datos) >= 0
 
      Case Right(Datos, 5) = "#Usu#"
               
                User(Index) = (Left(Datos, Len(Datos) - 5))
                Me.Actuliza_Lista
                       
      Case Else
               
  '             Success = FlashWindow(Me.hwnd, 1)
   
    End Select

End Sub

Private Sub Winsock2_Close(Index As Integer)
'cierra la conexion

Winsock2(Index).Close
User(Index) = ""
Me.Actuliza_Lista


End Sub
Private Sub Winsock2_Error(Index As Integer, ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
'cerramos la conexion
Winsock2(Index).Close
'mostramos informacion sobre el error

MsgBox "Error numero " & Number & ": " & Description, vbCritical

End Sub
Private Function NuevoSocket() As Integer

Dim numElementos As Integer 'numero de sockets
Dim i As Integer 'contador

'obtiene la cantidad de Winsocks que tenemos
numElementos = Winsock2.UBound
'recorre el arreglo de sockets

For i = 0 To numElementos
'si algun socket ya creado esta inactivo
'utiliza este mismo para la nueva conexion
        If Winsock2(i).State = sckClosed Then

            NuevoSocket = i 'retorna el indice

            Exit Function 'abandona la funcion

         End If

Next


'si no encuentra sockets inactivos
Load Winsock2(numElementos + 1) 'carga un nuevo socket al arreglo
'devuelve el nuevo indice
NuevoSocket = Winsock2.UBound

End Function


Sub Actuliza_Lista()

Me.Lista_Contactos.Clear
   
    For i = 0 To UBound(User)

      If User(i) <> "" Then Me.Lista_Contactos.AddItem User(i)
         
    Next i


End Sub



Sub Enviar_Datos(Datos_a_Enviar As String, Indice As Integer, Optional Origen As String)
 
  Dim Mensage As String
 
 
      If Origen = "Boton_Enviar" Then
     
                Mensage = Datos_a_Enviar
               
      Else
     
       
                Mensage = Datos_a_Enviar
   
     
      End If
     
   Winsock2(Indice).SendData Mensage

End Sub




Todo las sugerencias son aceptadas.....ha y nos se si usar 4 winsocks









#2
Ingeniería Inversa / Re: Assembler?
11 Marzo 2006, 00:44 AM
pues hay muchos manuales de asm y la mayoria para intel 80x86....(investiga un poco de historia computacional..) y sabras que es x86.....ha y por cierto utiliza bien el oraculo...

google=manuales de asm   y buala   muchos manuales.....algunos del 1990 otros 1998 otros de 2000-...pero en fin......asm es la ley....pero esta pesadon....pero no imposible de aprender.....
#3
Buen dia...haber si te sirve esto....jejeje .....no me acuerdo de donde lo sake...pero en fin....



Private Type Inf

Text As String

End Type
Private Sub Command1_Click()
    Dim ApExcel As Variant
    Set ApExcel = CreateObject("Excel.application")
    ' Hace que Excel se vea
    ApExcel.Visible = True
    'Agrega un nuevo Libro
    ApExcel.Workbooks.Add
    'Poner Titulos
    ApExcel.cells(1, 1).Formula = "Titulo de la Aplicacion"
    ApExcel.cells(1, 1).Font.Size = 18
    ApExcel.cells(2, 2).Formula = "Debe"
    ApExcel.cells(2, 3).Formula = "Haber"
    ApExcel.cells(2, 4).Formula = "Saldo"
    ApExcel.cells(3, 2).Formula = 200
    ApExcel.cells(3, 3).Formula = 100
    ' Aplica Formula
    ApExcel.cells(3, 4).Formula = "=B3-C3"
    ' Hace una Seleccion de celdas y pone bordes de Color
    ApExcel.RANGE("B3:D3").BORDERS.Color = RGB(255, 0, 0)
    Set ApExcel = Nothing
End Sub
#4
Buen dia...antes que nada gracias...pero no entiendo muy bien....

Mira lo que necesito es guardar lo que tengo en el richtexbox y Listview

mira....se gurdara la lo que tengo en el richtexbox en un archivo de texto .txt..

pero como guardo un archivo en un .txt...

por ejemplo

Yo adunto un archivo de (nombre.xls) en el ListView....y automaticamente creo una copia temporal en "c:\"....

al momento de guardar mi mensaje....guardo el archivo (nombre.xls) de k forma (binary,?..no se)...

y al crerrar...... El archivo temporal (nombreTem.xls) creado en c:\...se elimine....ya que dicho archivo ya se guardo en .txt....

Al momento de abrir(cargar) ese .txt desde mi aplicacion me vuelva a crear el archivo temporal (nombreTem.xls) en c:\.........

el problema en si....es;

Como guardar un .exe, .xls, .doc, .txt, (cualquier archivo).....en un .txt...............y al momento de cargar ese .txt desde mi aplicacion...me vuelva a generar el archivo temporal (nombreTem.xls)...en c:\...

Lo he intentado con open .... for Binary #... y guardarlo en un ...txt....

me estoy volviendo loco....no doy....ayuda por favor...
#5
jejeje....creo que lo de lammer no viene al tema....jejeje....me confundi....a por cierto los lammers son novatos que se creen Hackers.....Que por cierto no lo soy...jejejeje....solo lo  puse ....por ...no se.....bueno gracias....espero me puedas echar la mano

#6
Buen dia...antes que nada...agradezco su ayuda....

Aver si entendi algo...

Yo tengo un ListView y un RichTexbox....

En el ListView...Adjunto los archivos....
En el RichTexbox...Coloco tecto...

ok...

Mi form se deve de guardar con todo y todo..me refiero al texto y a los archivos...ok

Yo guardo el texto del RichTexbox y los archivos del listView de forma Binaria......en un archivo (.txt, .exe....o propia extensión..(" .msj "," .5v5 ")......y cuando yo habra ese archivo creado(guardado)...me habra mi form...y me cargue los datos guardados.....

pero de que forma logro guardar los archivos....si de todas formas va a depender de un path....y lo que necesito es que si ese archivo creado (.msj , .5v5 )...lo copio en un disco de 3 1/2 y despues lo quiero habir en otra pc...me habra esos archivos que adjunte en el ListView....


Espero me ayuden un poco mas explicativo...(con peras y manzanas)....jejejeje...soy medio lammer
#7
buen dia....asi como lo dice yeikos...solo tienes que poner un "  -  " (guion)...en el caption  y listo...


hasta pronto
#8
perdon....perdon...perdon....

pero no entendi.....


me lo podrias explicar un poco mas claro...ya que no capto muy rapido las cosa.....jejejeje....

gracias...
#9
Buen dia...antes que nada les agradezco sus opiniones...

Creo que tienen razon con respecto a que no me explico bien...

Yo tengo un mensajero lan...de hp....y este mensajero trabaja de la siguiente forma....(es lo que necesito hacer)..

El ejecutable..tiene una opcion de crear mensaje...
En el mensaje..podemos introducir archivos adjuntos por medio de drag&drop, clipboard, etc......

El mensaje se guarda tal y cual.(con archivos adjuntos)....pero lo guarda con su propia extensión(chm)....te tipo OLE.....

Estos archivos adjuntos se copian en el mismo (.chm)...y si los copias a otra pc...se mantienen los archivos tal y cual...

Esto es lo que necesito hacer...pero no se si es posible realizarlo....bueno espero me haya explicado un poco mas...

en mi proyecto ...yo adjunto los archivos en un listview......

por su atencion gracias
#10
Buen dia...nuevamente molestando...

Necesito de su ayuda...

No se como hacer para guardar un archivo dentro de un listview de mi form(aplicacion)...es decir...

Lo arrastro y suelto en un listview.....pero necesito que al cerrar ese form(aplicacion) me siga guardando ese archivo..pero sin referencia.....de tal forma que me cree una copia dentro de mi form(aplicacion) sin depender de la original....y que cuando yo copie ese form(apliacion) a otra pc   y/o   cuando yo elimine el archivo original no pase nada....pero todo esto sin necesidad de crear copias temporales....

bueno....solo les pido si me pueden orientar a como hacerlo...o un link que me pueda ayudar...gracias....