Autor Beitrag
Default112
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 76

Win XP
D6 Prof
BeitragVerfasst: Sa 06.03.04 16:52 
Ich habe folgendes Problem:

Ich benutze die TServerSocket/TClientSocket Komponenten und suche eine Möglichkeit den Server in die LAge zu versetzen einem bestimmten Client eine Message zu schicken.

So solls aussehen:

1. Server bekommt eine Nachricht von Client A
2. Server bekommt eine Nachricht von Client B
3. Server schickt Nachricht an Client A
4. Server schickt Nachricht an Client B

Ich habe keine Problem, wenn ich von Client A eine Nachtricht erhalt und sofort mit Socket.SendText antworte, doch wie kann ich einen speziellen Client ansprechen? Nun habe ich irgendwo gelesen, dass alle Connections in einem Array gespeichert werden, irgendwie sowas ServerSocket1.Socket.Connections[x].
Da kann ich ja einfach ein SendText dranhängen und ich würde Client x eine Nachricht schicken. Nur, wie finde ich heraus, welchen Index Client A in dem Array hat? Mit 2 Rechnern ja noch einfach, soll dieses Projekt ein ganzes Schulnetzwerk beinhalten, somit würde ich nur ungern das Array nach der passenden IP durchsuchen lassen. Gibt es da keine einfachere Möglichkeit, herauszufinden, welchen Index Client A hat?

Gruss
Def
MasterBilke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 38

WIN XP
D3 Prof
BeitragVerfasst: Sa 06.03.04 17:37 
is zwar keine lösung lass aber doch die messi einfach an alle clients schicken und lass den sender client die empfangene messi ignorieren
Default112 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 76

Win XP
D6 Prof
BeitragVerfasst: Sa 06.03.04 22:18 
Das geht nicht, im Grunde verursacht das zuviel Traffic, im Grunde muss ich einen Record schicken, der ziemlich groß ist. Den dann an 30 Rechner zuschicken, damit ihn einer brauchen kann ist verschwendung, vor allem, da ca. jede Sekunde ein Client ein neues PAket haben will.
MasterBilke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 38

WIN XP
D3 Prof
BeitragVerfasst: So 07.03.04 06:09 
ahso nur an ein rechner
ich dacht das alle das file bruachen nur der sender nicht

dann ka
Inferno
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 76



BeitragVerfasst: Mo 26.04.04 13:13 
Das ist ne gute Frage, genau für das prob suche ich auch eine lösung, weil der anscheind wenn ein client disconnected das array wieder neu sortiert und somit der cleint 4 nicht mehr in Connections[3] sondern jetzt ind Connections[2] steht


es muss doch ne lösung dafür geben, in anderen Programmiersprachen bekommt man von den Clientverbindungen ne eindeutige ID die immer dem Client zugeordnet ist und somit immer angesprochen werden kann.


mfg

Inferno
Inferno
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 76



BeitragVerfasst: Mo 26.04.04 18:44 
So schau mal hier falls das thema noch aktuell sein sollte, ich glaub ich hab da was gefunden *g*


www.delphiforum.de/v...c36648fd2e3b4#145614


mfg
Inferno