Obtener puerto del fichero "etcservices"
Publicado por Anonimo (2 intervenciones) el 07/01/2010 17:27:19
¿Cómo se puede obtener en VB6 el puerto de un servicio que se encuentra en el fichero etc/services?
He probado a usar lo siguiente:
'En el modulo
Public Declare Function getservbyname Lib "wsock32.dll" (ByVal serv_name As String, ByVal proto As String) As Long
Public Declare Sub MemCopy Lib "kernel32" Alias "RtlMoveMemory" (Dest As Any, Src As Any, ByVal cb&)
Public Type servent
s_name As Long
s_aliases As Long
s_port As Integer
s_proto As Long
End Type
Public Const servent_size = 14
y en el formulario:
Dim port&
Dim setDestServ As servent
port = getservbyname("Utilitario", "tcp")
If port Then
MemCopy setDestServ, ByVal port, servent_size
MsgBox setDestServ.s_port
end if
Pero el puerto que sale en el msgbox no es el correcto. ¿Me falta hacer algo? ¿Qué hago mal?
He probado a usar lo siguiente:
'En el modulo
Public Declare Function getservbyname Lib "wsock32.dll" (ByVal serv_name As String, ByVal proto As String) As Long
Public Declare Sub MemCopy Lib "kernel32" Alias "RtlMoveMemory" (Dest As Any, Src As Any, ByVal cb&)
Public Type servent
s_name As Long
s_aliases As Long
s_port As Integer
s_proto As Long
End Type
Public Const servent_size = 14
y en el formulario:
Dim port&
Dim setDestServ As servent
port = getservbyname("Utilitario", "tcp")
If port Then
MemCopy setDestServ, ByVal port, servent_size
MsgBox setDestServ.s_port
end if
Pero el puerto que sale en el msgbox no es el correcto. ¿Me falta hacer algo? ¿Qué hago mal?
Valora esta pregunta
0