![]() |
Chatsoftware ... TServer/TClient + TCPServer/TCPClient
Ihr werdet es nicht glauben, aber wieder jemand der sich an einer Chatspftware versucht! ;-)
Bevor ich nun diesen Thread aufgemacht habe, habe ich einiges gelesen und studiert, aber leider nicht die richtige Antwort gefunden. Aufbau meines Chats: - Texte/Nicknames und Textbefehle werden über TServer bzw. TClientSockets abgearbeitet. - Filetransfer läuft über TCPServer bzw. TCPClient. Jetziger Stand: -Meldet sich an - gibt den angebenen Nickname an den Server weiter. Server liest die Nicknames in eine Listbox ein und schickt diese Liste an alle verbundenen Clients, die wiederum auch diese Liste in eine Listbox einlesen und anzeigen.Über diese TServer/TClientSockets können auch PM's verschickt werden usw. -Die Clients haben die Möglichkeit einen Filetransfer zum Server zu machen (über TCPClient/TCPServer) und der TCPServer empfängt diese und verspeichert sie in einen Fileordner. Problem: Nun soll der Server die Möglichkeit haben (über TCPServer/TCPClient) diese Dateien auch wieder an bestimmte Clients versenden zu können. Die Identifikation soll über die Nicknames in der Listbox laufen. Leider habe ich keinen Schimmer wie ich das bei TCPServer zu TCPClient realisieren kann. Bei TServer bzw. TClient Sockets ist das einfach, da ich dort den Listbox.ItemIndex verwenden kann und diesen dann über Connections[Listbox.ItemIndex] and die betrefende Person schicken kann. Wie ist es nun möglich über den TCPServer einen Nickname der Listbox eine Datei zuschicken zu können, damit der TCPClient diese komplett empfangen kann und in einem speziellen Fileordner wieder verspeichert? Wäre für jede Hilfe dankbar!! Gruß, Joker PS: Nachtrag - Ich arbeite mit Delphi 7 Pro (TCPServer/TCPClient) und den D6 TServerSocket/TClientSocket ... |
Re: Chatsoftware ... TServer/TClient + TCPServer/TCPClient
|
Re: Chatsoftware ... TServer/TClient + TCPServer/TCPClient
Hallo Florian,
das hab ich bereits mehrfach! ;-) Aber du benutzt eigene Custom Sockets und ich möchte gerne die Standard Sockets benutzen. Müßte doch auch möglich sein, oder? Nun habe ich versucht den Transfer der Dateien vom Server zu bestimmten Clients über die TServerSocket/TClientSocket zu erreichen. Es funzt auch, daß ich den Client über den Listboxindex ansprechen kann, aber beim verspeichern der Datei im Client bekomm ich einen OutOfResources des RichEdits (Anzeigefelds für TextNachrichten). Verstehe nicht warum er das File im Client nur teilweise in eine Datei schreibt, aber trotzdem versucht dieses File auch im RichtEdit auszugeben? Komisch, oder? Wenn ich nun zum Test eine .txt Datei vom Server an den bestimmten Client schicke, dannerstellt sich zwar eine Datei mit dem gleichen Namen - ist aber mit 0 Bytes belegt und der Inhalt des Streams wird in dem Client RichEdit ausgegeben --- als wenn ich SendText verwendet hätte .. aber SendStream im Server benutzt habe ... Eine Idee eurerseits? Danke!! Greetz Joker |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz