Moin zusammen, ich habe ein Programm um mich übers Internet mit einem Server zu verbinden. Das möchte ich so erweitern, dass nach einer selbst bestimmten Zeit mein Programm eine Fehlermeldung ausspuckt. Wenn die Verbindung aufgebaut wurde bekomme ich eine 1 zurück und wenn die Verbindung nicht aufgebaut wurde eine 0. Ich stehe halt grad auf dem Schlauch mit welcher abfrage ich das am besten mache. Viele Grüße
Welche Plattform? Welches Programm, selbst geschrieben? Erweiterung des Programmes oder eigenes Programm zur Uberprüfung der Verbindung?
Es ist ein c Programm mit eclipse auf meinem mac geschrieben und ich möchte mein bestehendes Programm erweitern.
Black D. schrieb: > ein Programm um mich übers Internet mit einem Server zu > verbinden. Geht es noch ungenauer? - welches Internetprotokoll? - Irgendeine API genutzt um das zu realisieren? - Die Beschreibung zu dieser API mal gelesen ob die nicht sowas schon enthält und man nur noch die Zeit einstellen muss? - und wenn du immer noch nicht weiterkommst der Progemmteil der da irgendwas verbindet?
Black D. schrieb: > c Programm **Beim Aufbau** :
1 | // connect the client socket to server socket |
2 | |
3 | if (connect(sockfd, (SA*)&servaddr, sizeof(servaddr)) != 0) { |
4 | |
5 | printf("connection with the server failed...\n"); |
6 | |
7 | exit(0); |
8 | |
9 | } |
10 | |
11 | else |
12 | |
13 | printf("connected to the server..\n"); |
Bei aufgebauter Verbindung kann in der Dauerschleife for(;;;) von func über Kommunikation mit dem Server überprüft werden ob dieser antwortet. https://www.geeksforgeeks.org/tcp-server-client-implementation-in-c/ https://www.it-swarm.com.de/de/c/schreiben-ein-geschlossenes-lokal-tcp-socket-schlaegt-nicht-fehl/1068188417/
dein "sockfd" auf O_NONBLOCK stellen, wenn das Connect den "Fehlercode" EINPROGRESS zurückgibt, kannst du per "select" oder "poll" o.Ä. auf das Verbinden des Sockets warten, und denen dein Timeout mitgeben.
Beitrag #6733531 wurde von einem Moderator gelöscht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.