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.