001
05.06.2006, 18:00 Uhr
Felix
|
Also du musst natürlich den Server so programmieren, dass er dann die Nachrichten nur an bestimmte Personen weiterleitet. Also ich hab mal so was ähnliches programmiert und dann immer:
name~nachricht
geschrieben, also das war dann, dass der Server weiß an wen des geht, du kannst natürlich auch nur nummern vergeben.
bei den Clients hab ich dann alle namen, die zur Auswahl stehen in eine Combobox gefasst, wobei es da natürlich viele Möglichkeiten gibt, und dann muss man eben den Namen anklicken, an den man etwas senden möchte.
Sähe dann vereinfacht so aus:
void __fastcall TForm1::ClientSocket1Read(TObject *Sender, TCustomWinSocket *Socket) {String quelle,nachricht; String s1= ClientSocket1->Socket->ReceiveText();
//s1= quelle~nachricht
quelle=s1.SubString(1,s1.Pos("~")-1); s1.Delete(1,s1.Pos("~"));
nachricht=s1;
RichEdit1->Lines->Add("von "+ quelle +" "+nachricht); }
Also das ist jetzt stark vereinfacht, weil ich bei mir noch einige andere Optionen drin hab. Der Server muss halt das umwandeln und z.B. die namen vor der Tilde ändern (die Tilde ist nur für mich privat ein Trennungszeichen gewesen, geht natürlich auch was anderes)
Anmeldung und so geht folgender maßen:
if (!ClientSocket1->Active) {ClientSocket1->Host=Edit1->Text; //IP ClientSocket1->Port=StrToInt(Edit2->Text); // Port ClientSocket1->Active=true; }
so das wärs von meiner Seite vorerstmal, ich kann dir auch mein komplettes prog zum reinschnuppern schicken, wenn du interesse hats, bräucht halt deine E-mail.
Viel Spaß noch (ich find immer was neues zum ändern ) Felix |