Greetz!! Ich möchte Daten über UDP schicken und habe große Probleme dabei. Gibt es schon fertige Codes??
ne das Problem liegt beim Senden. Empfangen funktioniert aber das senden nicht. #include <stdio.h> #include <errno.h> #include <string.h> #include <stdlib.h> #include <conio.h> #include <vcl.h> //für CompareStr-Funktion #include <sys/types.h> //Für Windows Systeme #ifdef _WIN32 #include <winsock.h> #include <io.h> #endif #define Portnumber 1500 #define BACKLOG 100 int main(int argc, char *argv) { clrscr(); int sock, bind1, listen1, new_fd, sin_size; //struct sockaddr_in my_addr; struct sockaddr_in their_addr; int byte_count, fromlen; struct sockaddr_in addr; char buf[1024]; int Eingabe; //---------------------Winsock initialisieren---------------------------- #ifdef _WIN32 WSADATA wsaData; if (WSAStartup (MAKEWORD(1, 1), &wsaData) != 0) { printf ("WSAStartup() kann Winsock nicht initialisieren.\n"); exit (EXIT_FAILURE); } #endif //---------------------------socket()----------------------------------- - //sock = socket(AF_INET, SOCK_STREAM, 0); sock = socket(PF_INET, SOCK_DGRAM, 0); if(sock == -1) printf("\nFehler mit socket()! Es konnte kein Socket aufgebaut werden\n"); else printf("\nAlles in Ordnung mit socket()!\n"); their_addr.sin_family = PF_INET; their_addr.sin_port = htons(Portnumber); their_addr.sin_addr.s_addr = INADDR_ANY; //memset(&(my_addr.sin_zero), 0, 8); //----------------------------sendto()---------------------------------- for(;;) { tolen = sizeof(addr); byte_count = sendto(sock, buf, sizeof(buf), 0, (struct sockaddr *)&addr, &tolen); //byte_count = sendto(new_fd, buf, sizeof(buf), 0); if (byte_count == -1) printf("\nFehler mit sendto()! Senden von Daten fehlgeschlagen!\n"); else printf("\n%d Bytes gesendet\n", byte_count); buf[byte_count] = '\0'; printf("\nGesendet: %s", buf); FILE *f = fopen("c:\Senden.txt","a"); char buffer[80]; char s[80]; char Orte[10]; char Orte1[10]; int Vergleich; int i, m; } #ifdef _WIN32 closesocket(sock); WSACleanup(); #endif }
Ich hab keine Ahnung wie ich die Daten einfügen muss das es sich um eine Zeit handelt. Diese gewinne ich folgendermaßen: TDateTime DateTime = Time(); // store the current date and time AnsiString str = TimeToStr(Time()); // convert the time to a string AnsiString stv = DateToStr(Date()); Uhr->Caption = str + " " + stv; // display the time on the form's caption Bei sendto kann ich aber keine string verwenden
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.