AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi probleme mit sendbuf und receivebuf

probleme mit sendbuf und receivebuf

Ein Thema von ThoLor · begonnen am 11. Mai 2004 · letzter Beitrag vom 11. Mai 2004
Antwort Antwort
ThoLor

Registriert seit: 10. Okt 2003
Ort: Rommerskirchen
8 Beiträge
 
Delphi 6 Enterprise
 
#1

probleme mit sendbuf und receivebuf

  Alt 11. Mai 2004, 13:25
hallo...

beschäftige mich zum ersten mal mit sockets und bin mit textversenden auch gut klargekommen. Nun wollte ich ein kleines prog schrieben, welches dem prog (auf anderem rechner) seine formularkoordinaten zusendet (in form eines records). der server soll die daten dann enpfangen und sein formular an diese koordinaten verschieben. connection steht, doch sobald ich beim client auf den "senden"-button drücke, komm win socket error 10054 auf BEIDEN rechnern. also da funzt was, abenicht richtig ^^ hier mal ein bissel code...


Delphi-Quellcode:
//das macht er, wenn ich auf senden klicke
//package ist eine private-variable in der klasse tform1 vom typ des records mit den beiden integervariablen

procedure TForm1.Button3Click(Sender: TObject);
begin
  If client.Active
    then
      begin
        package.x := left;
        package.y := top;
        client.Socket.SendBuf(package,sizeof(package));
      end;
end;


//wenn der server was empfängt, soll er folgendes machen

procedure TForm1.ServerClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  server.Socket.ReceiveBuf(package,sizeof(package));
  left := package.x;
  top := package.y;
end;

bitte um schnelle hilfe, habe heute frei ^^

[edit=sakura] [delphi]-tags Mfg, sakura[/edit]
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#2

Re: probleme mit sendbuf und receivebuf

  Alt 11. Mai 2004, 13:27
Erstmals, herzlich willkommen in der DP (cool, ich darfs auch mal sagen).
Für Delphi-code haben wir die [ delphi]-Tags (ohne Leerzeichen)
Das Problem ist, dass package in Delphi ein reserviertes Wort ist. Das wird hiermit ersichtlich:
package Blabla; Ein fettgedruckter Bezeichner markiert ein reserviertes Wort. Gib der Variable eine andere Bezeichnung und es müsste funktionieren.
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
ThoLor

Registriert seit: 10. Okt 2003
Ort: Rommerskirchen
8 Beiträge
 
Delphi 6 Enterprise
 
#3

Re: probleme mit sendbuf und receivebuf

  Alt 11. Mai 2004, 13:59
daran lags leider nicht... habe die variable jetzt "paket" genannt. hatte mich aber auch mit der fehlermeldung vertan.

wenn ich vom client aus sende, bekomm ich auf diesem rechner die meldung "asynchronous socket error 10053" und auf dem server erhalte ich folgende meldung: "windows socket error: (10057), on API 'recv'"
Thomas
  Mit Zitat antworten Zitat
ThoLor

Registriert seit: 10. Okt 2003
Ort: Rommerskirchen
8 Beiträge
 
Delphi 6 Enterprise
 
#4

Re: probleme mit sendbuf und receivebuf

  Alt 11. Mai 2004, 17:48
bitte helft mir ^^
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Manzoni
Manzoni

Registriert seit: 15. Feb 2004
Ort: Berlin
120 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: probleme mit sendbuf und receivebuf

  Alt 11. Mai 2004, 18:16
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
begin
  If client.Active then
  begin
    package.x := left;
    package.y := top;
    client.Socket.SendBuf(package,sizeof(package));
  end;
end;


//wenn der server was empfängt, soll er folgendes machen

procedure TForm1.ServerClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  Socket.ReceiveBuf(package,sizeof(package));
  left := package.x;
  top := package.y;
end;
Bob
  Mit Zitat antworten Zitat
ThoLor

Registriert seit: 10. Okt 2003
Ort: Rommerskirchen
8 Beiträge
 
Delphi 6 Enterprise
 
#6

Re: probleme mit sendbuf und receivebuf

  Alt 11. Mai 2004, 18:21
Zitat von ThoLor:
daran lags leider nicht... habe die variable jetzt "paket" genannt. hatte mich aber auch mit der fehlermeldung vertan.

wenn ich vom client aus sende, bekomm ich auf diesem rechner die meldung "asynchronous socket error 10053" und auf dem server erhalte ich folgende meldung: "windows socket error: (10057), on API 'recv'"
mit betonung auf "daran lags leider nicht"
Thomas
  Mit Zitat antworten Zitat
ThoLor

Registriert seit: 10. Okt 2003
Ort: Rommerskirchen
8 Beiträge
 
Delphi 6 Enterprise
 
#7

Re: probleme mit sendbuf und receivebuf

  Alt 11. Mai 2004, 18:39
viellcith kann sich ja mal jemand den gesamten quelltext ansehen...

Delphi-Quellcode:
type
  koord = record
  x,y: integer;
  end;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Client: TClientSocket;
    Server: TServerSocket;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure ClientConnect(Sender: TObject; Socket: TCustomWinSocket);
    procedure Button3Click(Sender: TObject);
    procedure ServerClientRead(Sender: TObject; Socket: TCustomWinSocket);
  private
    paket: koord;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  server.Open;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  client.open;
end;

procedure TForm1.ClientConnect(Sender: TObject; Socket: TCustomWinSocket);
begin
  caption := 'connected to host';
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  If client.Active
    then
      begin
        paket.x := left;
        paket.y := top;
        client.Socket.SendBuf(paket,sizeof(paket));
      end;
end;

procedure TForm1.ServerClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  Socket.ReceiveBuf(paket,sizeof(paket));
  left := paket.x;
  top := paket.y;
end;
bin langsam am verzweifeln.... ;-(
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#8

Re: probleme mit sendbuf und receivebuf

  Alt 11. Mai 2004, 18:45
Ich nehme mal an dass du im Eigenschaftsinspektor die richtigen Werte für Host bzw. Port gesetzt hat, denn im Source kann ich die nicht entdecken. Ansonsten scheint an der soße nichts zu fehlen...
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz