Ningun programador puede jaja xD

Iniciado por Edu, 23 Octubre 2010, 17:57 PM

0 Miembros y 2 Visitantes están viendo este tema.

Edu

He pedido en varios foros y hasta en este:

http://foro.elhacker.net/programacion_visual_basic/como_creo_la_conexion_con_csocket_master-t306667.0.html

Y nadie puede solucionarme una simple conexion con CSocketMaster jeje xD, no he provado preguntar en otro foro ahi q luego hare pero espero q alguien se anime y pruebe lo q quiero hacer ya q si no salgo de lo basico no lograre hacer nada y me asombra q grandes programadores me digan Esta todo bien el codigo no se porq no anda :S , no me serviria eso como respuesta ahora jeje porq si quieren pueden cambiar todo, incluso no usar socketmaster pero solucionar el problema de q aunque no tengan la libreria en otra pc funcione igual ( incluida en recursos) pero no se, espero q alguien me ayuda ya q da para pensar, yo si fuera un programador como muchos de ustedes y no puedo resolver esto.. es porq tan bueno no soy :S

El q no quiera intentarlo no comente algo como Estudia y arreglalo vs mismo, porq estudie no se preocupen solo q necesito de alguien con mas experiencia aun para ver q problema tengo :S

LeandroA

lo primero que te recomendaria es verificar si se puede conectar a esa pc porque puede que estes detras de un router, o el firewal o antivirus bloque los puertos

de seguro que es el router

create un  server ponelo a la escucha e intenta conectar desde otro lado

lo podes hacer con el sitio de BlackZeroX

http://infrangelux.sytes.net/ScanX/

PD: Muy bueno BlackZeroX esa pagina yo hace rato quize hacer eso pero ningun servidor me permitio utilzar los sokets en puertos que no sea el 80, en que esta en linux o windows?, estaria bueno que agas un tipo api, para testear este tipo de problemas como el de ZERO, osea la pagina deberia retornar un OK o ERROR, algo bien pelado osea sin ningun html

Edu

Esque no tengo router, solo modem, y no tengo av, tengo el firewall activo pero al poner en escucha me aparece para desbloquear y lo desbloqueo ( con eso abro ese puerto) y listo, por lo q me han dicho otros programadores q miran en el debug dice q se conecta pero enseguida se cierra, talvez algunos de los eventos esos como server_error() puse algun server_sckclose o algo asi era, y no tenia q ir ahi no se :S

bizco

no he mirado el codigo pero solo decirte que aun sin firewall en tu equipo o en remoto si el puerto no esta abierto en el router la conexion no se puede hacer.

BlackZeroX

Cita de: LeandroA en 23 Octubre 2010, 20:10 PM
lo primero que te recomendaria es verificar si se puede conectar a esa pc porque puede que estes detras de un router, o el firewal o antivirus bloque los puertos

de seguro que es el router

create un  server ponelo a la escucha e intenta conectar desde otro lado

lo podes hacer con el sitio de BlackZeroX

http://infrangelux.sytes.net/ScanX/

PD: Muy bueno BlackZeroX esa pagina yo hace rato quize hacer eso pero ningun servidor me permitio utilzar los sokets en puertos que no sea el 80, en que esta en linux o windows?, estaria bueno que agas un tipo api, para testear este tipo de problemas como el de ZERO, osea la pagina deberia retornar un OK o ERROR, algo bien pelado osea sin ningun html

mira esto...:

http://infrangelux.sytes.net/ScanX/?ip=www.google.com.mx&NoHtml=0&port=800&msg=texto a enviar
http://infrangelux.sytes.net/ScanX/?ip=www.google.com.mx&NoHtml=1&port=800&msg=texto a enviar
http://infrangelux.sytes.net/ScanX/?ip=www.google.com.mx&NoHtml=2&port=800&msg=texto a enviar
http://infrangelux.sytes.net/ScanX/?ip=www.google.com.mx&NoHtml=3&port=800&msg=texto a enviar

Los parametros estan aquí:

http://infrangelux.sytes.net/ScanX/

Dulce Infierno Lunar!¡.
.
The Dark Shadow is my passion.

Edu

Aclaro denuevo q problema de puertos no es porq NO TENGO ROUTER NI NADA TODO BIEN ESO y aclaro q en mi misma pc me anda si pongo a conectar a server.localip , puerto pero eso es obvio q andara solo de local y me lo han probado en red y como es logico tambien anda en red, pero fuera de la red no, y si yo actualizo mi no-ip y poner conectar a mi no-ip, puerto no me anda ni de local y obviamente menos con otra pc :S

LeandroA

Buenisimo BlackZeroX, hay otra cosa mas para sugerirte, que la ip no sea obligatoria ya que pude que no cosoca mi ip publica. o bien puedes hacer otro php para recuperar la ip publica, pero ya son dos peticiones creo que es mejor lo primero y hasta podria devolverla dentro del resultado.

pero antes hay que arreglar algo fijate

Option Explicit

Private Sub Form_Load()
    Winsock1.Close
    Winsock1.LocalPort = 300
    Winsock1.Listen
End Sub

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
    Winsock1.Close
    Winsock1.Accept requestID
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
    Dim sData As String
    Winsock1.GetData sData
    Debug.Print sData
End Sub

Private Sub Winsock1_Error(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)
    Debug.Print Description
End Sub


no imprime ningun texto, creo que el scanX cierra demasiado rapido la conexion y no se alcanza a enviar el msg.

@Zero
esto deveia indicarte el estado

Option Explicit

'=========Wininet Api========
Private Declare Function InternetOpen Lib "wininet" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
Private Declare Function InternetCloseHandle Lib "wininet" (ByVal hInet As Long) As Integer
Private Declare Function InternetReadFile Lib "wininet" (ByVal hFile As Long, ByVal sBuffer As String, ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) As Integer
Private Declare Function InternetOpenUrl Lib "wininet" Alias "InternetOpenUrlA" (ByVal hInternetSession As Long, ByVal lpszUrl As String, ByVal lpszHeaders As String, ByVal dwHeadersLength As Long, ByVal dwFlags As Long, ByVal dwContext As Long) As Long

Private Const INTERNET_OPEN_TYPE_DIRECT As Long = 1
Private Const INTERNET_OPEN_TYPE_PROXY  As Long = 3
Private Const INTERNET_FLAG_RELOAD      As Long = &H80000000

Private WithEvents CSocket As CSocketMaster

Private Sub CSocket_ConnectionRequest(ByVal requestID As Long)
    CSocket.CloseSck
    CSocket.Accept requestID
End Sub

Private Sub CSocket_DataArrival(ByVal bytesTotal As Long)
    Dim sData As String
    CSocket.GetData sData
    Debug.Print sData
End Sub



Private Sub Form_Load()
    Set CSocket = New CSocketMaster
   
    CSocket.LocalPort = 200
    CSocket.Listen

    Debug.Print GetConnection("http://infrangelux.sytes.net/ScanX/?ip=190.225.124.46&NoHtml=2&port=200&msg=Prueba")
End Sub


Function GetConnection(ByVal sUrl As String) As String

    Dim hOpen As Long, hFile As Long, sBuffer As String, Ret As Long
   
    sBuffer = Space(1000)

    hOpen = InternetOpen("VB6", INTERNET_OPEN_TYPE_DIRECT, vbNullString, vbNullString, 0)

    hFile = InternetOpenUrl(hOpen, sUrl, vbNullString, ByVal 0&, INTERNET_FLAG_RELOAD, ByVal 0&)
   
    Do
        InternetReadFile hFile, sBuffer, 1000, Ret
        GetConnection = GetConnection & Left(sBuffer, Ret)
        If Ret = 0 Then Exit Do
    Loop
   
    InternetCloseHandle hFile
    InternetCloseHandle hOpen
   
End Function

Private Sub CSocket_Error(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)
    Debug.Print Description
End Sub


PD algunos modem tambien bloquean los puertos acesorate de eso para habilitarlos.
por las dudas utiliza tu ip publica http://www.cualesmiip.com/ 

Edu

Yo entiendo lo de los puertos de esos no se preocupen mas xD

Lo probare para ver si me dice algo de porq el error aunque ya me habia dicho y no entendia el error pero veo con ese code, y nadie lo ha mirado? talvez ven el error o se animan a probarlo con otra pc para si el problema soy yo o no :S

BlackZeroX

#8
.
Actualise los parametros de ScanX, se ve mejor en la pagina:



arametro Obligatorio Descripción
IP NO DNS/IP Destinatario (Dejar en blanco para escanearse a si mismo)
Port SI Indica el Puerto Destinatario
NoHtml NO Indica si se desea usar Html ( Default = 0 )
# Parametros: 0 = Desactiva la opcion
# 1 = Resultados Sin HTML
# 2 = Resultados Sin HTML y con muestra solo el Codigo de error
# 3 = Resultados Sin HTML y con muestra el Codigo de error y su descripcion (El Codigo de Error esta separado de su descripcion por "--->".)
# Returns: -1 = Error de Rango de Puertos
# 0 = Error de Conexion
# 1 = Conexion Satisfecha
MyIPAddres NO Si se activa este parametro solo Mostra la IP en texto Plano
# Parametros: 0 = Desactiva la opcion
# 1 = Activar la Opcion



Asique para obtener tu dirreicón IP sería ai:

http://infrangelux.sytes.net/ScanX/?myipaddres=1

Código (Vb) [Seleccionar]


Option Explicit

'=========Wininet Api========
Private Declare Function InternetOpen Lib "wininet" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
Private Declare Function InternetCloseHandle Lib "wininet" (ByVal hInet As Long) As Integer
Private Declare Function InternetReadFile Lib "wininet" (ByVal hFile As Long, ByVal sBuffer As String, ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) As Integer
Private Declare Function InternetOpenUrl Lib "wininet" Alias "InternetOpenUrlA" (ByVal hInternetSession As Long, ByVal lpszUrl As String, ByVal lpszHeaders As String, ByVal dwHeadersLength As Long, ByVal dwFlags As Long, ByVal dwContext As Long) As Long

Private Const INTERNET_OPEN_TYPE_DIRECT As Long = 1
Private Const INTERNET_OPEN_TYPE_PROXY  As Long = 3
Private Const INTERNET_FLAG_RELOAD      As Long = &H80000000

Private Sub CSocket_Close()
   Call CSocket.Close
   Call CSocket.Listen
End Sub

Private Sub CSocket_ConnectionRequest(ByVal requestID As Long)
   Call CSocket.Close
   Call CSocket.Accept(requestID)
End Sub

Private Sub CSocket_DataArrival(ByVal bytesTotal As Long)
Dim sData               As String
   Call CSocket.GetData(sData)
   Debug.Print sData
End Sub

Private Sub Form_Load()
   CSocket.LocalPort = 200
   CSocket.Listen
   Debug.Print GetConnection("http://infrangelux.sytes.net/ScanX/?nohtml=2&port=200&msg=Prueba")
End Sub


Function GetConnection(ByVal sUrl As String) As String
Dim hOpen As Long, hFile As Long, sBuffer As String, Ret As Long
   sBuffer = Space(1000)
   hOpen = InternetOpen("VB6", INTERNET_OPEN_TYPE_DIRECT, vbNullString, vbNullString, 0)
   hFile = InternetOpenUrl(hOpen, sUrl, vbNullString, ByVal 0&, INTERNET_FLAG_RELOAD, ByVal 0&)
   Do
       InternetReadFile hFile, sBuffer, 1000, Ret
       GetConnection = GetConnection & Left(sBuffer, Ret)
       If Ret = 0 Then Exit Do
   Loop
   InternetCloseHandle hFile
   InternetCloseHandle hOpen
End Function

Private Sub CSocket_Error(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)
   Debug.Print Description
End Sub



Dulce Infienro Lunar!¡.
The Dark Shadow is my passion.

Clouth

Yo no tengo mucha experiencia ni entiendo la programacion tanto como ustedes pero yo por ejemplo cuando quiero hacer un servidor de world of warcraft y dejar que entre la gente al usar un no-ip tengo que configurar el archivo host de windows para que el dominio no-ip sea redireccionado a localhost es decir a mi maquina. No se si podra ayudarte eso en algo, igual me pasa con las paginas web cuando quiero mostrarlas o algo y son proyectos o cuaquier cosa tengo que darle una redireccion a mi direccion de no-ip hacia mi pc para que la gente tenga acceso a los datos que quiero mostrar.