![]() |
Re: TcpServer ----> TcpClient senden und empfangen
ich seh schon du hast ahnung ^^
das mit dem MyReceive klappt wunderbar, allerdings kann ich mit ReceiveLn leichter die bebfehle herausfiltern ^^, da ich ja nicht nur text zum anzeigen senden will ;) ich habe irgendwie noch nicht den wurm raus mit dem send vom server zum client, ich habe beim OnAccept einfach mal zum schluss ClientSocket.SendLn('hallo'); reingeschrieben, doch das OnReceive Event beim client wird nicht ausgelöst :/ |
Re: TcpServer ----> TcpClient senden und empfangen
geil find ich auch, wenn ma im OnAccept des Servers vor dem ReceivLn also dem lesen der gesendeten Client Daten, SendLn macht sind die ganzen daten vom Client futsch xD
Edit: bzw. er liest unendlich viel leigt am endzeichen ^^ |
Re: TcpServer ----> TcpClient senden und empfangen
hallo,
ich bin mit dem senden vom server zum client kein stück weiter. irgendwie habe ich es vorhin einmal hingekriegt, dass das Onreceive Event vom Client ausgelöst wird. doch ich kriege es nicht mehr hin. ich sende vom client aus text per SendLn an den Server und warte danach perWaitForData(5000) auf Daten vom Server bevor ich die verbindung schließe. Das OnAccept Event des Servers wird dann aufgerufen und ich führe darin bloß ClientSocket.SendLn('hallo'); aus. und das ergebnis: Onreceive wird nicht ausgelöst im client argh :D was mache ich flasch???? wenn ich was falsch mache :mrgreen: |
Re: TcpServer ----> TcpClient senden und empfangen
also ich sitz grad auf arbeit und kann daher leider nicht mal eben nachvollziehen ;)
prinzipiell solltest du alles richtig machen. am besten nochmal in der delphihilfe nachlesen und einfach ein bisschen rumprobieren :thumb: aeno |
Re: TcpServer ----> TcpClient senden und empfangen
ich lasse das ganze per localhost auf einem rechner laufen, kann es sein dass es daran liegt ?
der client selbst hat die netzwerk ip-adresse: 10.10.10.34 der server hat 127.0.0.1 ich verbinde vom client natürlich zu 127.0.0.1 funktioniert auch, kann es sein, dass der server nicht an die 10.10.10.34 senden kann? ich hab das problem wenn ich dem server über IdIPWatch seine Ipadresse zuweise hat er natürlich 10.10.10.34, und vom client aus kann ich dann nicht auf 10.10.10.34 connecten. keine ahnung warum Edit: ich sollte das ganze mal mit 2 rechnern testen :mrgreen: |
Re: TcpServer ----> TcpClient senden und empfangen
also mit 127.0.0.1 sollte es keine probleme geben. habe ich damals auch erfolgreich auf einem rechner laufen gelassen :)
|
Re: TcpServer ----> TcpClient senden und empfangen
hmmm ich werde wohl noch einige tage brauchen
:mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: |
Re: TcpServer ----> TcpClient senden und empfangen
wenn du lust hast, kannst du mir ja ein funktionierendes beispiel schicken :mrgreen:
PS: ich liebe Mr. Green :mrgreen: ^^ achja und James Thurbers Fabeln sind echt geil, besonders die eine moral: Early to rise and early to bed makes a male healthy, wealthy and dead xD |
Re: TcpServer ----> TcpClient senden und empfangen
das ist ziemlich komisch:
wenn ich deine methode zum empfangen vom daten vom client nehme ohne was anderes in OnAccept etwa so
Delphi-Quellcode:
ausführe wird MyReceive garnicht ausgeführt :/
procedure TForm1.MyReceive(Sender: TObject; Buf: PChar; var DataLen: Integer);
begin Memo1.Lines.Add(Buf); end; procedure TForm1.TcpServer1Accept(Sender: TObject; ClientSocket: TCustomIpClient); var s:string; i:integer; aa:boolean; begin Memo2.Lines.Add(ClientSocket.LocalHostAddr); ClientSocket.OnReceive:=MyReceive; end; so klappt es:
Delphi-Quellcode:
ich versteh' das nicht ganz ^^
procedure TForm1.MyReceive(Sender: TObject; Buf: PChar; var DataLen: Integer);
begin Memo1.Lines.Add(Buf); end; procedure TForm1.TcpServer1Accept(Sender: TObject; ClientSocket: TCustomIpClient); var s:string; i:integer; aa:boolean; begin Memo2.Lines.Add(ClientSocket.LocalHostAddr); ClientSocket.OnReceive:=MyReceive; ClientSocket.ReceiveLn; ///////die wichtige zeile end; am besten wäre wirklich ein beispiel ;) |
Re: TcpServer ----> TcpClient senden und empfangen
hmmm, ich habe weitergeforscht und sehe, dass es nur noch ein kleiner sprung ist :D :D :D
Es ist möglich ohne Timervom Client zu empfangen, ich muss bloß das OnReceive event im Client ausgelöst kriegen, wie hab ich das vorhin bloß hingekriegt argh ^^ ich hätte so gern ein beispiel, ich habe im 666diablo-forum genau den richtigen beitrag gefunden, allerdings wurde kein code gepostet. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:33 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