Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Who knows this error - WSAEAFNOSUPPORT

125 views
Skip to first unread message

Youngsang, Hwang

unread,
Dec 16, 1994, 9:00:35 PM12/16/94
to

I'm tying to window application with winsock.
When my program is tring to connect server, connect call makes WSAEAFNOSUPPORT error.
I'm beginer and actually I don't know what makes this error.
My code is following. Please help me, Anybody can answer to me by e-mail.

//////////////////////////////////////////////////////////////////////////
int ConnectServer(void){

struct sockaddr_in Host;
struct hostent FAR *Host_ptr;

SOCKET Socket;
WORD wMajorVersion, wMinorVersion;
WORD VersionReqd;
LPWSADATA lpmyWSAData;

int Return;

int PortNmbr=1595;

wMajorVersion = MAJOR_VERSION;
wMinorVersion = MINOR_VERSION;

VersionReqd = WSA_MAKEWORD(wMajorVersion, wMinorVersion);
lpmyWSAData = (LPWSADATA) _calloc(1, sizeof(WSADATA));

Return = WSAStartup(VersionReqd, lpmyWSAData);
if(Return){
Return = WSAGetLastError();
return (Return);
}

if((Socket = socket(PF_INET, SOCK_STREAM, 0)) == INVALID_SOCKET){
Return = WSAGetLastError();
return (Return);
}

Host.sin_port = htons((u_int)PortNmbr);

if((Host_ptr = gethostbyname("EDISON")) == NULL)
return WSAGetLastError();

bcopy(Host_ptr->h_addr, &Host.sin_addr, Host_ptr->h_length);

Return = connect(Socket, (struct sockaddr FAR *)&Host, sizeof(Host));

if(Return){
Return = WSAGetLastError();
return (Return);
}

return(0);
}

char *_calloc(unsigned nelem, unsigned elsize){
HANDLE hMem;
PSTR ptr;
unsigned size = nelem * elsize;

if((hMem = LocalAlloc(LPTR, size)) == NULL) return (char *)0;
if((ptr = LocalLock(hMem)) == NULL){
LocalFree(hMem);
return (char *)0;
}
return (char *)ptr;
}

#define MAJOR_VERSION 1
#define MINOR_VERSION 2

#define bcopy(a, b, c) _fmemcpy(b, a, c)
#define WSA_MAKEWORD(x, y) ((y) * 256 + (x))

Youngsang, Hwang
CIM Team, Asiana Airlines
SEOUL, COREA

Bob Cousins

unread,
Dec 18, 1994, 2:14:30 PM12/18/94
to
ysh...@swan.kumho.co.kr (Youngsang, Hwang) wrote:
>
>I'm tying to window application with winsock.
>When my program is tring to connect server, connect call makes WSAEAFNOSUPPORT error.
>I'm beginer and actually I don't know what makes this error.
>My code is following. Please help me, Anybody can answer to me by e-mail.
>
> [code deleted]

You need to do a bind() after creating the socket and before calling
connect. Something like:

sin.sin_family := AF_INET;
sin.sin_addr.s_addr := 0; (* host IP address gets supplied by winsock *)
sin.sin_port := 0; (* winsock supplies local port number *)
err := bind (s, addr(sockaddr(sin)), sizeof(sin));

or whatever it is in the funny language you are using.

------------------------------------------------
Bob Cousins, Sirius Cybernetics.
Christmas Card for Windows available from ftp.demon.co.uk:
/pub/ibmpc/windows/xmascard/xmascard.zip.

0 new messages