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ú

Temas - 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
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....
#3
Buen dia tengan todos unstedes....bueno pues necesito su ayuda...jejeje como siempre....

bueno..he buscado por la web y solo he encontrado poco...

Mi proyecto es hacer un mensajero lan...pero mi 1er problema es

Como puedo adjuntar archivos a mi programa de la forma de arrastrar & soltar del explorador a mi programa y que se edjunten con su respectivo icono y con la opcion de abrirlos y guardarlos....por ejemplo.


tengo abierto mi form y necesito un archivo que esta en el escritorio de windows....lo que necesito es jalar ese archivo que esta en el escritorio hacia mi form y que en mi form aparezca una copia de ese archivo pero con su respectivo icono........l

lo he intentado con un RichTextBox pero no he podido lograr que me paresca el icono de dicho archivo...

bueno espero me puedan ayudar ...mil gracias por su atencion


#4
Buen dia..a todos..espero no molestar con esta pregunta..pero no encuentro nada....

necesito hacer un programa ...con el cual pueda ver una camara ip...pero esta camara esta en otra parte..no esta en mi lan..necesitaria checarla por internet...es porsible hacer esto....

bueno solo les pido que me orientes y si me pueden proporcionar unos link... se los agradeceria...

gracias por su atencion...
#5
Buen dia a todos...  espero me puedan ayudar...me gustaria saber como y/o con que programa se pueden desensamblar los archivos de office, ya que me quiero abrir archivos de office que tienen password, pero como no son .exe, .dll, .ocx....como puedo crackear esos archivos...


BUeno gracias por su atencion...y espero me puedan ayudar...
#6
Hola..buen dia...
Miren tengo un problema...

¿Como puedo saber la ip con la que salgo a internet ?....
he encontrado informacion pero esta depende de una url..que me devuelve mi ip publica... Pero la verdad yo necesito hacer un programa que me diga cual es mi ip publica si depender de la una url...bueno espero me puedan ayudar...pero de antemano gracias por su atencion....
#7
buen dia.... Tengo un problema....de novato...

Como puedo color una imagen a a mis botones...ya lo intente, en propiedades del button, picture...pero no me pone la imagen...como le puedo hacer, es mediante codigo?????.....

gracias por su atencion, y espero me puedan ayudar
#8
Hola....  a todo el foro ;D

Miren se que es una duda tonta y que da claro que soy un super novato..pero en fin....

encontre un proyecto cliente servidor. el cual usa el control winsock, con el protocolo UDP, este programita es un tipo chat.... y al especificar la direccion remota lo hace asi;

wsk.remotehost="255.255.255.255"

y esto manda el mensaje a toda mi red lan.... claro que les llega a los usuarios qu tengan el programa abierto...

Pero mi duda es....Si yo tengo salida a internet por medio de un proxy(esclavo...) ese texto no sale de mi red lan, por ejemplo, que otro vale tenga abierto el programa fuera de mi red lan...le llegaria a el.....

segun tendo entendido que internet rechaza conexiones UDP, pero sigo con la duda...bueno espero me aya explicado....gracias....  y espero me puedan aclarar esto.... ::)
#9
buen dia a todo el foro...

estoy desarrolando un aplicacion cliente servidorcon el control winsock.. como un pequeño troyano...

Pero mi problema es.......No se como hacer que mi servidor vea el escritorio del cliente, en tiempo real, como lo hace el netmeeting....para ver que es lo que hace mi cliente, etc...

Si alguien me puede ayudar, ya sea con algun codigo o algun link...se lo agradecere infinitamente.....

Por su atencion ..... ;DGracias....

#10
miren en la web encontre y modifique el siguiente codigo... el cual abre un una ventana, como la del command dialog, en la que se muestra el entorno de red, pero tambien me aparecen las carpetas compartidas, y yo lo que quiero que me aparezca, es solamente mis grupos de trabajo .....y no las carpetas compartidas....ayuda  donde me hace falta modificar.....


Option Explicit
Private Const ERROR_SUCCESS As Long = 0
Private Const MAX_PATH As Long = 260
Private Const CSIDL_NETWORK As Long = &H12
Private Const BIF_RETURNONLYFSDIRS As Long = &H1
Private Const BIF_BROWSEFORCOMPUTER As Long = &H1000

Private Type BROWSEINFO
hOwner As Long
pidlRoot As Long
pszDisplayName As String
lpszTitle As String
ulFlags As Long
lpfn As Long
lParam As Long
iImage As Long
End Type
Private Declare Function SHBrowseForFolder Lib "shell32.dll" _
Alias "SHBrowseForFolderA" _
(lpBrowseInfo As BROWSEINFO) As Long
Private Declare Function SHGetSpecialFolderLocation _
Lib "shell32.dll" _
(ByVal hwndOwner As Long, _
ByVal nFolder As Long, _
pidl As Long) As Long

Private Declare Sub CoTaskMemFree Lib "ole32.dll" _
(ByVal pv As Long)
Private Function GetBrowseNetworkWorkstation() As String
Dim BI As BROWSEINFO
Dim pidl As Long
Dim sPath As String
Dim pos As Integer

If SHGetSpecialFolderLocation(Me.hWnd, CSIDL_NETWORK, pidl) = RROR_SUCCESS then

With BI
.hOwner = Me.hWnd
.pidlRoot = pidl
.pszDisplayName = Space$(MAX_PATH)
.lpszTitle = "Select a network computer."
.ulFlags = BIF_BROWSEFORCOMPUTER
End With

If SHBrowseForFolder(BI) <> 0 Then
GetBrowseNetworkWorkstation = "\" & BI.pszDisplayName
End If

Call CoTaskMemFree(pidl)

End If
end Function
Private Sub Command1_Click()
Text1.Text = GetBrowseNetworkWorkstation()
End Sub

pero la verdad, no logro entenderlo muy bien, me lo podrian explicar un poquito..... ;D
#11
Hola...

Se puede obtener la direccion URL del internet explorer, la que aparece en la barra de Direccion, por ejmplo:

si Yo tengo abierta esta pagina, mi programa me ponga en un txt la direccion "http://foro.elhacker.net/index.php?action=post;board=50.0",

¿ Con que Api ?

Gracias y espero me puedan Ayudar