Der Code von checken sieht so aus, als sollte er folgendes machen:
versuchen zu einem Prozess zu connecten.
Wenn das fehlschlägt, diesen Porzess starten und erneut versuchen zu connecten.
Ja du hast recht, so war das gedacht!
Ich hab das Problem immernoch und bin am verzweifeln!
Dein Argument mit der rekursion verstehe ich aber nicht ganz, denn in der Fkt. senden_xprog(message); rufe ich eigentlich die Fkt. checken nicht auf. Hab den Code von senden_xprog(message) angehängt:
Code:
int senden_xprog(char *message)
{
struct sockaddr_in client;
int sock, bytes;
client.sin_family = AF_INET;
client.sin_port = htons(PORT_SENDEN_XPROG);
//client.sin_addr.s_addr = inet_addr("127.0.0.1");
client.sin_addr.s_addr = INADDR_ANY;
if ((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0)
{
printf("\nFehler beim Erstellen des Socket! in Fkt. senden_xprog\n");
return -1;
}
else
{
printf("\nSocket wurde erfolgreich erstellt in Fkt. senden_xprog!");
}
if (connect(sock, &client, sizeof(client)) < 0)
{
perror("connect() failed senden_xprog_right ");
close(sock);
}
else
{
bytes = send(sock, message, strlen(message), 0);
if (bytes == -1)
{
perror("send() failed in Fkt. senden_xprog_right");
return -1;
}
else
{
printf("\nClient: %s an Server geschickt!\n in Fkt. senden_xprog_right", message);
}
close(sock);
}
return 0;
}
Lesezeichen