Autor
|
Tema: Ningun programador puede jaja xD (Leído 9,238 veces)
|
Edu
Desconectado
Mensajes: 1.082
Ex XXX-ZERO-XXX
|
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.htmlY 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
|
|
|
En línea
|
|
|
|
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
|
|
|
En línea
|
|
|
|
Edu
Desconectado
Mensajes: 1.082
Ex XXX-ZERO-XXX
|
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
|
|
|
En línea
|
|
|
|
bizco
Desconectado
Mensajes: 698
|
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.
|
|
|
En línea
|
|
|
|
|
Edu
Desconectado
Mensajes: 1.082
Ex XXX-ZERO-XXX
|
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
|
|
|
En línea
|
|
|
|
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/
|
|
|
En línea
|
|
|
|
Edu
Desconectado
Mensajes: 1.082
Ex XXX-ZERO-XXX
|
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
|
|
|
En línea
|
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
. 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 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!¡.
|
|
« Última modificación: 25 Octubre 2010, 00:23 am por BlackZeroX▓▓▒▒░░ »
|
En línea
|
The Dark Shadow is my passion.
|
|
|
Clouth
Desconectado
Mensajes: 42
|
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.
|
|
|
En línea
|
|
|
|
|
|