Guten Tag,
beim Versuch eine Socket Verbindung aufzubauen bekomme ich immer den Fehlercode 3430 ( Operation in progress) zurück. Ein Auszug aus dem Code ist hier:
Code:
D p_sockaddr S *
D sockaddr DS based(p_sockaddr)
D sa_family 5I 0
D sa_data 14A
D sockaddr_in DS based(p_sockaddr)
D sin_family 5I 0
D sin_port 5U 0
D sin_addr 10U 0
D sin_zero 8A
...
flags = fcntl(sock: F_GETFL);
flags = %bitor(flags: O_NONBLOCK);
fcntl(sock: F_SETFL: flags);
...
addrlen = %size(sockaddr);
p_connto = %alloc(addrlen);
p_sockaddr = p_connto;
sin_family = AF_INET;
sin_addr = IP;
sin_port = Port;
sin_zero = *ALLx'00';
RetCode = connect(sock: p_sockaddr : addrlen);
if RetCode < 0;
errnoPtr = getErrnoPtr();
dsply ('Open = ' + %char(errno));
Retcode = sclose(sock);
if RetCode < 0;
errnoPtr = getErrnoPtr();
dsply ('Open = ' + %char(errno));
endif;
return;
endif;
Wenn ich das "NONBLOCK" nicht setze, bleibt das Programm beim Connect stehen, bis ich es abbreche.
Hat jemand eine Idee, woran das liegt?
Vielen Dank im Voraus
Hubert
P.S. Ich habe die Vorlage aus der Anleitung von Scott Klement
Bookmarks