C Netzwerk Programmierung

maltonade

Cadet 2nd Year
Registriert
Okt. 2010
Beiträge
24
Hallo,

Ich benutze den Borland C++ Builder 6. Ich habe die Velleman P8055-1 Karte. Die Karte Lokal anzusteuern ist überhaupt kein Problem. Das soll jetzt aber auch übers Netwerk Funktionieren. Ich benutze den Client und Server Socket. Verbindung aufbauen und Text übertragen funktionert 1A. Muss man da zwingend einen String übertragen? Hatte mir es so gedacht, dass wenn ich z.b. eine Led einschalten will vom Client eine 1 Übertragen wird. Beim Server dann mit if else oder switch case das Empfangene auswerten. Habe es mit Zahlen und Buchstaben versucht aber leider kein Erfolg.

Meine Ansätze waren:
Für den Anfang habe ich es mit if versucht.

edEmpfang->Text = Socket->ReceiveText(); (edEmpfang ist das Empfang Edit Feld)
strcpy(zahl,edEmpfang->Text) (Zahl ist ein Char Vektor)


if(zahl=="A")
{
SetAllDigital();
}

Da es mit Zahlen nicht funktioniert habe ich es mit Buchstaben versucht. Aber so funktionert es leider auch nicht. :(

Was mache ich falsch? Hoffe ihr habt eine Idee.

mfg
maltonade
 
maltonade schrieb:
Hallo,
if(zahl=="A")
{
SetAllDigital();
}

Dir ist schon klar dass du da zwei pointer auf chars miteinander vergleichst?
Richtig wäre:

Code:
if(zahl[0] == 'A')
{
     SetAllDigital();
}
 
Ein char Vektor ist schon eine ziemlich komische Aussage. Du meinst vermutlich ein char Array was vermutlich bei dir so aussehen wird:

char zahl[256];

Wenn du dann nun zahl == 'A' abfragst, fragst du nicht das erste Element ab, sondern nur die Adresse des Arrays.
Du müsstest also zahl[0] == 0 abfragen aber du solltest dir echt mal lieber die Grundelemente der Sprache C angucken, denn du scheinst noch überhaupt nichts verstanden zu haben und so funktioniert das leider nicht!
 
Danke so funktioniert es. Zu char Vektor: Mir wurde es so beigebracht das es so heißt.
 
Verweise den Dozenten auf Dieter nur :)
Bei meinem Studium musste für die Benutzung von Vektor für Array 1€ in die Kaffeekasse :D
 
Zurück
Oben