mithras
13-10-2002, 21:06
hab mit fcntl nonblocking angeschaltet, damit am connect nicht ewig auf clients gewartet wird, die off sind, allerdings funktioniert das ganze nicht, der server kann nicht connecteen!?
if ((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0) // Socket wird erstellt
{
printf("\nFehler beim Erstellen des Socket %d!\n", i);
}
else
{
printf("\nSocket %d wurde erfolgreich erstellt!", i);
// setzt nonblocking (die connect Fkt. kehrt wenn gegenueber off. ist sofort zurueck.)
if (fcntl(sock, F_SETFL, O_NONBLOCK) == -1)
{
puts("fehelr bei fcntl!");
return -1;
}
else
{
if (connect(sock, &client, sizeof(client)) < 0) // Es wird zum Server-Prozess des Clients connected
{
printf("\nconnect() %d failed!", i);
}
else
{
printf("\nConnect %d war erfolgreich!", i);
senden(sock, text);
}
}
if ((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0) // Socket wird erstellt
{
printf("\nFehler beim Erstellen des Socket %d!\n", i);
}
else
{
printf("\nSocket %d wurde erfolgreich erstellt!", i);
// setzt nonblocking (die connect Fkt. kehrt wenn gegenueber off. ist sofort zurueck.)
if (fcntl(sock, F_SETFL, O_NONBLOCK) == -1)
{
puts("fehelr bei fcntl!");
return -1;
}
else
{
if (connect(sock, &client, sizeof(client)) < 0) // Es wird zum Server-Prozess des Clients connected
{
printf("\nconnect() %d failed!", i);
}
else
{
printf("\nConnect %d war erfolgreich!", i);
senden(sock, text);
}
}