FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Error SOCKET 10093 en Windows VISTA
Posts: 654
Joined: Mon May 29, 2006 03:14 PM
Error SOCKET 10093 en Windows VISTA
Posted: Fri Aug 28, 2009 09:38 AM
Pues eso que el mismo programa en Windows XP me funciona correctamente y en VISTA me da este error, el 10093.
Code (fw): Select all Collapse
#include "Fivewin.ch"
#include "struct.ch"
#include "exstruc.ch"

#define AF_UNSPEC          0     && unspecified
#define AF_INET            2     && internetwork: UDP, TCP, etc.
#define MSG_DONTROUTE      4     && send without using routing tables
#define SOCK_DGRAM         2     && datagram socket
#define SOL_SOCKET         65535 && options for socket level
#define SO_REUSEADDR       4     && allow local address reuse
#define SO_BROADCAST       32    &&permit sending of broadcast msgs
#define INADDR_ANY         0
#define sockaddr_size      16
#define IPPROTO_IP         0     && dummy for IP
#define IP_MULTICAST_IF    2 && set/get IP multicast interface = interfaz del multicast del IP de set/get
#define IP_MULTICAST_TTL   3 && set/get IP multicast timetolive
#define IP_ADD_MEMBERSHIP  5 && add  an IP group membership
#define IP_DROP_MEMBERSHIP 6 && drop an IP group membership
#define FD_READ            1
#define FD_WRITE           2
#define FD_CLOSE           32
#define WSADESCRIPTION_LEN 256+1
#define WSASYS_STATUS_LEN  128+1

function Main()

STRUCT sockaddr
  MEMBER s_family AS WORD
  MEMBER s_port   AS WORD
  MEMBER s_addr   AS LONG
  MEMBER s_zero   AS STRING LEN 8
ENDSTRUCT
STRUCT WSAData
  MEMBER wVersion  AS WORD
  MEMBER wHighVer  AS WORD
  MEMBER szDescrip AS STRING LEN WSADESCRIPTION_LEN
  MEMBER szSystem  AS STRING LEN WSASYS_STATUS_LEN
  MEMBER iMaxSock  AS WORD
  MEMBER iMaxUdpDg AS WORD
  MEMBER lpVendor  AS LONG
ENDSTRUCT
STRUCT Startup
  MEMBER wVersion  AS WORD
  MEMBER wHighVer  AS WORD
  MEMBER szDescrip AS STRING LEN WSADESCRIPTION_LEN
  MEMBER szSystem  AS STRING LEN WSASYS_STATUS_LEN
  MEMBER iMaxSock  AS WORD
  MEMBER iMaxUdpDg AS WORD
  MEMBER lpVendor  AS LONG
ENDSTRUCT
STRUCT stMreq
  MEMBER i_multia AS LONG
  MEMBER iWORDerf AS LONG
ENDSTRUCT
STRUCT ip_mreq // Para MemberShip
  MEMBER i_multia AS LONG
  MEMBER i_interf AS LONG
ENDSTRUCT

public rc:=0,cTemp:="",nSocket:=-1

WSAData:wVersion :=0
WSAData:wHighVer :=0
WSAData:szDescrip:=space(WSADESCRIPTION_LEN)
WSAData:szSystem :=space(WSASYS_STATUS_LEN)
WSAData:iMaxSock :=0
WSAData:iMaxUdpDg:=0
WSAData:lpVendor :=0
*---
cTemp:=WSAData:cBuffer
rc:=WSAStartup(0x0101,@cTemp) // rc:=WSAStartup(bin2i(chr(2)+chr(0)),@cTemp)
WSAData:cBuffer:=cTemp
if rc<>0
   MsgAlert("Error en WSASTARTUP"+chr(13)+;
            "NO SE PUEDE CONTINUAR"+chr(13)+;
            "Error numero "+alltrim(str(rc))+chr(13)+;
            "No hay comunicaciones ("+alltrim(str(WSAGetLastError()))+")","¡ AVISO !")
   return nil
else

nSocket:=-1
nSocket:=socket(AF_INET,SOCK_DGRAM,IPPROTO_IP) // ¡¡¡ AQUI DA EL ERROR !!!
if nSocket<0
   MsgAlert("Error en SOCKET ("+alltrim(str(WSAGetLastError()))+")","¡ AVISO !")
   nSocket:=-1
   return nil
else
   MsgInfo(nSocket,"Socket")
endif

CloseSocket(nSocket)

return nil

DLL32 FUNCTION WSAStartup(n AS LONG, pStruct AS LPSTR) AS LONG PASCAL FROM "WSAStartup" LIB "wsock32.dll"
DLL32 FUNCTION WSACleanup() AS LONG PASCAL FROM "WSACleanup" LIB "wsock32.dll"
DLL32 FUNCTION closesocket(af AS LONG) AS WORD PASCAL FROM "closesocket" LIB "wsock32.dll"
DLL32 FUNCTION MemCopy(dest AS LPSTR, src AS LPSTR, cb AS LONG ) AS VOID PASCAL FROM "RtlMoveMemory" LIB "Kernel32.dll"
DLL32 FUNCTION socket(af AS LONG, s_type AS LONG, protocol AS LONG ) AS LONG PASCAL FROM "socket" LIB "wsock32.dll"
DLL32 FUNCTION setsockopt(s AS LONG,level AS LONG,optname AS LONG,optval AS LPSTR,optlen AS LONG) AS LONG PASCAL FROM "setsockopt" LIB "wsock32.dll"
DLL32 FUNCTION getsockopt(s AS LONG,level AS LONG,optname AS LONG,optval AS LPSTR,optlen AS LONG) AS LONG PASCAL FROM "getsockopt" LIB "wsock32.dll"
DLL32 FUNCTION htonl(hostlong AS LONG) AS LONG PASCAL FROM "htonl" LIB "wsock32.dll"
DLL32 FUNCTION htons(hostshort AS LONG) AS WORD PASCAL FROM "htons" LIB "wsock32.dll"
DLL32 FUNCTION bind(s AS LONG, pStruct AS LPSTR,namelen AS LONG) AS LONG PASCAL FROM "bind" LIB "wsock32.dll"
DLL32 FUNCTION inet_addr(cp AS STRING) AS LONG PASCAL FROM "inet_addr" LIB "wsock32.dll"
DLL32 FUNCTION inet_ntoa(nip AS LONG) AS STRING PASCAL FROM "inet_ntoa" LIB "wsock32.dll"
DLL32 FUNCTION WSAAsyncSelect(s AS LONG, hWnd AS LONG, wMsg AS LONG, lEvent AS LONG) AS LONG PASCAL FROM "WSAAsyncSelect" LIB "wsock32.dll"
DLL32 FUNCTION recv(s AS LONG, Buf AS LPSTR, buflen AS LONG, flags AS LONG) AS LONG PASCAL FROM "recv" LIB "wsock32.dll"
DLL32 FUNCTION recvfrom(s AS LONG, Buf AS LPSTR, buflen AS LONG, flags AS LONG, pStruct AS LPSTR, namelen AS LONG) AS LONG PASCAL FROM "recvfrom" LIB "wsock32.dll"
DLL32 FUNCTION send(s AS LONG, Buf AS LPSTR, buflen AS LONG, flags AS LONG) AS LONG PASCAL FROM "send" LIB "wsock32.dll"
DLL32 FUNCTION sendto(s AS LONG, Buf AS LPSTR, buflen AS LONG, flags AS LONG, addr AS LPSTR, i AS LONG) AS LONG PASCAL FROM "sendto" LIB "wsock32.dll"
DLL32 FUNCTION WSAGetLastError() AS LONG PASCAL FROM "WSAGetLastError" LIB "wsock32.dll"
Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.

FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
Posts: 654
Joined: Mon May 29, 2006 03:14 PM
Re: Error SOCKET 10093 en Windows VISTA
Posted: Mon Aug 31, 2009 06:34 PM

¡¡¡ Socorro !!!

Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.

FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
Posts: 654
Joined: Mon May 29, 2006 03:14 PM
Re: Error SOCKET 10093 en Windows VISTA
Posted: Tue Sep 08, 2009 09:06 PM

¿ Alguna idea ? :roll:

Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.

FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
Posts: 1054
Joined: Sun Oct 09, 2005 10:41 PM
Re: Error SOCKET 10093 en Windows VISTA
Posted: Wed Sep 09, 2009 02:08 AM

HOla,,, Windows Vista es todo un lio,,,, prueba con Windows7
Salu2

Posts: 401
Joined: Thu Oct 06, 2005 10:15 PM
Re: Error SOCKET 10093 en Windows VISTA
Posted: Wed Sep 09, 2009 02:22 AM

Hola, porque no pruebas con la clase tsocket de xHarbour
Yo la uso y funciona perfecta en Vista

Saludos,



Pablo Alberto Vidal

/*

------------------------------------------------------

Harbour 3.2.0, Fivewin 17.02, BCC7

------------------------------------------------------

*/
Posts: 654
Joined: Mon May 29, 2006 03:14 PM
Re: Error SOCKET 10093 en Windows VISTA
Posted: Wed Sep 09, 2009 05:07 PM
Willi Quintana wrote:HOla,,, Windows Vista es todo un lio,,,, prueba con Windows7
Salu2
No tengo mas remedio que usar Vista, es el del trabajo.
Con Windows7 también me pasa.

pablovidal wrote:Hola, porque no pruebas con la clase tsocket de xHarbour
Yo la uso y funciona perfecta en Vista
¿ Algún ejemplo ?
¿ Esta clase usa comunicaciones "multicast" ?
Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.

FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Error SOCKET 10093 en Windows VISTA
Posted: Wed Sep 09, 2009 05:10 PM

Hola JmGarcia

Has intentado usar la clase TSocket nativa de fivewin?

Posts: 654
Joined: Mon May 29, 2006 03:14 PM
Re: Error SOCKET 10093 en Windows VISTA
Posted: Wed Sep 09, 2009 05:11 PM
Daniel Garcia-Gil wrote:Has intentado usar la clase TSocket nativa de fivewin?

¿ Esta clase usa comunicaciones "multicast" ?
Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.

FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Error SOCKET 10093 en Windows VISTA
Posted: Thu Sep 10, 2009 09:47 AM
Hola JmGarcia

JmGarcia wrote:¿ Esta clase usa comunicaciones "multicast" ?


No esta soportado pero con algunos cambios a la clase podriamos resolverlo

http://jungla.dit.upm.es/~jmseyas/linux/mcast.como/Multicast-Como-6.html

Continue the discussion