Archiv verlassen und diese Seite im Standarddesign anzeigen : Client - Server
Hallihallo
also... ich hab da gerade so ein projekt ... ;)
und zwar ist das fürs netzwerk... da möchte ich von einem edit ins edit des anderen den inhalt schicken... das muss ich ja mit "sendtext" machen stimmts ? ...
weiss jemand wo ich vielleicht so einen source herkriege...
brauche nur server und client .. server schickt den inhalt eines edits an einen edit des clients
blöde frage was ;)
thx...
D4N73
visit : http://elite.to/elitecorps
Patrik Graf
10.06.2002, 13:21
Alles von Hand (WinAPI) oder mit Komponenten?
Und wenn mit Komponenten, dann mit welchen?
Felix Kaiser
10.06.2002, 15:19
Natürlich TClientSocket und TServerSocket. Zuerst einen Port suchen der frei ist, die Serverkomponente auf diesen setzen und Active auf True setzen. Das Ereignis OnClientRead wird immer ausgelöst, wenn der Server Daten von einer Clientverbindung bekommt. Mit der Funktion ReceiveText des übergebenen TCustomWinSocket Objektes kannst du die gesendeten Textdaten auslesen und z.B. in ein Memo oder Edit geben.
Der Client machts dann so: Du setzt den Port auf den Port vom Server und weist den Host zu, auf dem der Server auf 'listen' ist. Danach rufst du die Methode Open auf. Nun bekommst du entweder einen Event OnConnect, wenn die Verbindung hergestellt wurde oder OnError wenn ein Socketfehler auftrat. Wenn eine Verbindung hergestellt wurde kannst du mit SendText des übergebenen TCustomWinSocket Objektes Daten zum Server schicken. Achte auch darauf dass die Verbindung wenn du fertig bist wieder geschlossen wird, z.B. lass die Verbindung vom Server schließen, sobald er die Daten mit ReceiveText ausgelesen hat.
Ist recht einfach und glaube bei Delphi war auch ein Beispiel dazu bei 'Chat', habs mir aber nicht näher angesehen ...
Jo das ist schon mal nicht schlecht ;)
das mit dem "chat" beispiel könnte stimmen...
probiere es mal heut aus... thx
...kann ich eigentlich den standard netwerk port benutzen... aber das man ihn trotzdem weiter zum datenaustausch benutzen kann ?
D4N73
visit: http://elite.to/elitecorps
@ patrick graf
also ist eigentlich egal.. wollte komponenten benutzen... soll aber nur funktionieren ... egal wie ;)
D4N73
visit: http://elite.to/elitecorps
Messiah_of_Death
10.06.2002, 20:18
...hey da hab ich jezt auch mal ne Frage.. zu diesen überdoofen Socket Komponenten von Delphi (wieso gibT's keine Winsock.pas ??!. naja egal ) egal was ich mit denen mach ich bekomme _immer_ einen Asynchronus Socket Error ?! ..
da isses wurscht ob Client und Server auf einem oder auf 2 PC's verteilt laufen (..sorry code hab ich keinen momentan..zur Hand)
Patrik Graf
10.06.2002, 21:35
@Messiah_of_Death:
Es gibt eine Winsock.pas :D Wenn du sie nicht hast, schick ich sie dir wenn du willst oder häng sie als Anhang hier hin. Aber im Normalfall ist sie bei Delphi dabei...
Felix Kaiser
11.06.2002, 00:38
Rtl Sourcen sind nur in Professional und Enterprise Versionen enthalten, Socketkomponenten gibts in den Standard bzw. Personalversionen garnich.
nimm die delphi komponenten:
TClientSocket und TServerSocket
nimm nen port > 1024 und gibt den host ein, das wars :cool: :cool: :cool:
Messiah_of_Death
11.06.2002, 10:29
oh :eek: winsock.pas gibt's ?!
..hab's grad ausprobiert... hmm und Guru's Kommentar stimmt dann wohl auch.. bei der Professional von D5 isse dabei .. und bei der Personal von D6 net
~_~ ..wuah ich weis man sollte halt alle Versionen austesten.... :rolleyes:
ne also Client/Serversocket Komponente... die mag ich (und die mich) nicht..
das is egal was für ein Port da steht ..immer bei connect gibt's nen Crash...
naja ich versuch's mal über die Winsock direct.. (sollte ja jetzt gehen :D) ..sieht ja net so schwer aus ...
Danke
@Messiah_of_Death
naja ich nehme immer die komponeten weil ich einfach zu faul bin mich mit den anderen teilen lang rumzuaergern
PROGRAMMIERER SIND SCHREIBFAUL
ps
das wird jetzt wellen der entruestung hervorrufen :p:D :D :p
Messiah_of_Death
11.06.2002, 11:50
hmm wenn Programmierer Schreibfaul sind bin ich wohl keiner :eek: .....hab mal voll im Rausch ....so ca. 8h am Stück ..Programmcode getippt...
..ich mein eher Programmierfaul..
..ich hab die ganze Zeit vor was zu machen... aber irgendwie kein ansporn es zu machen.. ~_~ ...ich mein etwas zu machen was man kann ..hat (für mich) keinen Reiz es zu machen (vorrausgesetzt es gehört net zum Job :D)
oder du bist ein coder und ich nehm es nur als ausrede :cool: :cool: :cool:
Messiah_of_Death
11.06.2002, 21:17
...höhö kann auch sein.. Ausrede ..hihi ^-^
^-^ diese verdammte Winsock.pas sie geht und endlich seh ich keinen verdammten Asynchronus Socket Error ... (har har Network ! Now I come.. prepare to crash !! :D )
is das Teil Winsock 2.0 kompatibel ....naja ich weis zwar nicht was da anders sein soll aber besser ich frag mal :D
Felix Kaiser
12.06.2002, 02:36
Kompatibel zu allen 32-Bit WinSock Versionen. Außerdem haben die meisten Leute eh den 2er installiert, glaube nur Win95 wurde mit WinSock1.x ausgeliefert ...
Messiah_of_Death
12.06.2002, 11:22
oki ^-^ DANKE ...
jetzt hab ich endlich wieder was das mich beschäftigt :D
Jo ... mein server und client funzt... ich kann auch texte von memo zu memo senden... doch wie kriege ich das mit einem edit hin ???
ich muss das irgentwie mit einer variable (String) machen... doch das klappt net so richtig ;)
ihr wisst das mehr als ich :)
thx
D4N73
visit: http://elite.to/elitecorps
Felix Kaiser
13.06.2002, 16:01
Eigentlich genauso, beschreib doch mal was genau dein Prob damit ist.
also.. bei mir steht memo1.Lines.Add.ClientServerSocket...
oder so... weiss das net so genau aus dem kopf...
und ich will das mit nem edit machen... das geht net...
wenn ich Edit1.Text.Add.ClientServerSocket....
thx
D4N73
Felix Kaiser
13.06.2002, 21:09
Text ist eine Eigenschaft des Typs string, Lines war ein Objekt der Klasse TStringList. Du kannst der Eigenschaft Text den Wert von Socket.ReceiveText zuweisen, eine Funktion Add kann ein Typ string nicht haben, da er ja kein Objekt ist.
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.