recv() auf Clientseite nicht blockierend!?
-
ich bin student, komm du da erstmal hin, du nob.
-
..... schrieb:
ascda schrieb:
..... schrieb:
ascda schrieb:
Jimmy04 schrieb:
Habe mich im Forum bereits durchgesucht. Leider ohne Erfolg.
Such richtig.

Wenn du ihm nicht helfen möchtest, deine Entscheidung. Solch unhöflichen Kommentare sind aber nicht notwendig. Bist du Heimkind oder kommst irgendwo aus einem assozialem Mileu, da herrscht wohl heutzutag dieser Umgangston?
maul paul. wer zu faul zum suchen ist, soll ned programmieren
Heimkind

Heimkind

-
..... schrieb:
..... schrieb:
ascda schrieb:
..... schrieb:
ascda schrieb:
Jimmy04 schrieb:
Habe mich im Forum bereits durchgesucht. Leider ohne Erfolg.
Such richtig.

Wenn du ihm nicht helfen möchtest, deine Entscheidung. Solch unhöflichen Kommentare sind aber nicht notwendig. Bist du Heimkind oder kommst irgendwo aus einem assozialem Mileu, da herrscht wohl heutzutag dieser Umgangston?
maul paul. wer zu faul zum suchen ist, soll ned programmieren
Heimkind

Heimkind

Heimkind

-
..... schrieb:
..... schrieb:
..... schrieb:
ascda schrieb:
..... schrieb:
ascda schrieb:
Jimmy04 schrieb:
Habe mich im Forum bereits durchgesucht. Leider ohne Erfolg.
Such richtig.

Wenn du ihm nicht helfen möchtest, deine Entscheidung. Solch unhöflichen Kommentare sind aber nicht notwendig. Bist du Heimkind oder kommst irgendwo aus einem assozialem Mileu, da herrscht wohl heutzutag dieser Umgangston?
maul paul. wer zu faul zum suchen ist, soll ned programmieren
Heimkind

Heimkind

Heimkind

Heimkind

-
..... schrieb:
..... schrieb:
..... schrieb:
..... schrieb:
ascda schrieb:
..... schrieb:
ascda schrieb:
Jimmy04 schrieb:
Habe mich im Forum bereits durchgesucht. Leider ohne Erfolg.
Such richtig.

Wenn du ihm nicht helfen möchtest, deine Entscheidung. Solch unhöflichen Kommentare sind aber nicht notwendig. Bist du Heimkind oder kommst irgendwo aus einem assozialem Mileu, da herrscht wohl heutzutag dieser Umgangston?
maul paul. wer zu faul zum suchen ist, soll ned programmieren
Heimkind

Heimkind

Heimkind

Heimkind

Heimkind

-
Auch nicht schlecht. Schreibt doch vllt. zum Thema.
Wenn man jeden Thread zum Thema (ob select, recv, nicht blockierend Sockets) gelesen hat und nirgends die Lsg. drin steht kann man schonmal nachfragen.
Auch bei MSDN Library nichts gefunden... Alles durchgelesen dazu...
Muss mich zwar nicht rechtfertigen...
-
ja ne is klar. zu dem thema findet man natürlich auch gar nix auf msdn und schon gar nicht auf google.
-
ascda schrieb:
ich bin student, komm du da erstmal hin, du nob.
Dein Bildungsniveau sagt weder was über deinen Charakter, noch über dein Benehmen aus. Vielmehr sollte man meinen, dass Leute mit Bildung auch irgendwann gesellschaftliche Umgangsformen gelernt haben. Du fährst bestimmt auch ein Auto mit dem Aufkleber "Abi 200x". Ob das was du sagst der Wahrheit enspricht kann keiner hier prüfen, jedoch glänzt du hier mit deinen fehlenden Umgangsformen. Du bist doch bestimmt rofler oder Inf.Student. Leider hast du seit deinen ersten Posts hier nicht viel dazugelernt
-
wie meinst du das mit "erst dann ins programm" ?
select() sagt dir doch ob du was empfangen kannst. ist viel besser als nonblocking
sockets.eigentlich musst du nicht erst was schicken sondern kannst direckt die
ersten daten erwartenzeig mal die codestelle wo du select verwendest.
der erste parameter muss (unter windows allerdings nicht) der höchste
socket + 1 sein.sollte eigentlich nicht an select() liegen
@ascda
STFU
-
Meine damit, dass wenn ich einmal Daten gesendet und empfangen habe das Programm in die while-Schleife gehen kann.
...t.tv_sec = 1; t.tv_usec = 0; WORD wVersionRequested; WSADATA wsaData; wVersionRequested = MAKEWORD (1, 1); if (WSAStartup (wVersionRequested, &wsaData) != 0){ printf( "Fehler beim Initialisieren von Winsock"); } else{ printf("Winsock initialisiert\n"); } sock = socket( AF_INET, SOCK_STREAM, 0 ); if ( sock < 0 ){ printf("Fehler beim erzeugen des Sockets.\n"); } else{ printf("Socket konnte erzeugt werden.\n"); } memset( &server, 0, sizeof( server ) ); addr = inet_addr( "192.168.1.234" ); memcpy( (char *)&server.sin_addr, &addr, sizeof( addr ) ); server.sin_family = AF_INET; server.sin_port = htons( PORT ); result = connect( sock, (struct sockaddr*)&server, sizeof( server ) ); if ( result < 0 ){ printf("Verbindung kann nicht hergestellt werden.\n"); printf("Fehler: %i\n", WSAGetLastError()); } else{ printf("Verbindung konnte hergestellt werden.\n"); } strcpy(data, "First Connetcion..."); data_len = strlen( data ); result = send( sock, data, data_len, 0 ); printf("'recv()- Funktion:\nWarten auf einkommende Daten.\n"); if ( (recv_size = recv( sock, echo_buffer, RCVBUFSIZE, 0 ) ) == 0 ){ printf("Verbindung abgebaut.\n"); system("PAUSE"); } else if ( recv_size < 0 ){ printf("Fehler beim Empfangen der Daten.\n"); printf("Fehler: recv, fehler code: %d\n",WSAGetLastError()); } else{ echo_buffer[recv_size] = '\0'; printf("Bearbeite Server mit der Adresse: %s\n", inet_ntoa( server.sin_addr ) ); printf("Nachrichten vom Server: %s \n\n\n", echo_buffer); } while ( recv_size > 0 ){ printf("FD_ZERO.\n"); FD_ZERO(&readfds); printf("FD_SET.\n"); FD_SET(sock, &readfds); printf("max_socket = fd_listen+1;.\n"); max_socket = sock+1;...
Nach dem ein erster Datenaustausch statt gefunden hat, funktioniert die select-Fkt.