Autor Beitrag
seppel86
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 54



BeitragVerfasst: Mo 23.02.04 16:30 
Hi, ich hab mal wieder ein Prob.
Ich will vom Server aus eine Nachricht an den Client senden, dass sieht bei mir so aus:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
procedure TFormLanServer.Button2Click(Sender: TObject);
begin
     ServerSocket1.Socket.SendText('C' + edit3.text);
     Memo1.Lines.Add(edit3.text);
     edit3.Text:=' ';
end;


Ich krieg dann immer folgenden Error: Eine Anforderung zum senden und empfangen wurde verhindert, da der Socket nicht wurden ist.und beim senden keine Addresse angegeben wurde.
Ich hab keine Ahnung was das soll, obwohl die Verbindung zwischen Server und Client besteht.

Seppel86

Moderiert von user profile iconPeter Lustig: Code- durch Delphi-Tags ersetzt
CABALxx
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 174


D7 Ent
BeitragVerfasst: Mo 23.02.04 16:56 
Zitat:
und beim senden keine Addresse angegeben wurde.


hmm ich hab delphgi 7 deswegen kenn ich mich mit diesen Sersocket und Clientsocket nicht so aus
aber haste dem ding denn auch einen eindeutigen Port und dem Client zumindest ma ne eindeutige IP zugewiesen??

is nur ne frage / vermutung

Poste am besten mal beide Quelltext und schreib alle einstellungen dabei vielleicht kann mans dann besser nachvollziehen

aber auch keine genaue ahnung :roll:
seppel86 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 54



BeitragVerfasst: Mo 23.02.04 18:24 
Ich hab beiden den festen Port 9998 zugewiesen, und der Port ist auch 100% sicher frei. Als IP benutz ich die 127.0.0.1, ich probier das also an einem Rechner aus mit der Loopback Addresse. Könnt es daran liegen?
Was ich sonst noch als Code reinposten sollte wüsst ich nicht, der Server soll einfach nur senden, er macht es aber nicht...
mit dem client hat das nix zu tun, weil der ja gar nicht dazu kommt irgendwas zu empfangen.
seppel86 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 54



BeitragVerfasst: Mo 23.02.04 18:38 
Ich habs mal auf 2 verschiedenen Rechnern mit verschiedenen IP's probiert. Das Problem ist das gleiche.
CABALxx
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 174


D7 Ent
BeitragVerfasst: Mo 23.02.04 18:42 
hmmm

das ist in der tat komisch

ich kenn diese TServerSocket Kompónete wie schon erwähnt zwar nicht aber der code scheint doch richtig zu sein und ein derart hoher port ist im normal falle auch frei

da hät ich jetzt auch keine directe idee

ich könnte halt höchstens sagen, dass man ja mal die INDY komponenten benutzen kann
weil da gibt es jede menge tutorials zu
aber ich fürcht das hilft dir ja nicht so wirklich wenn du die Tserversocket benutzen willst

hmm
ma warten ob noch jemand den threat liest der sich mit den komponenten auskennt...
:(

EDIT:

ich hab hier bei den FAQs mal einen threat gefunden der hilft vielleicht indirect
www.delphi-forum.de/viewtopic.php?t=22001

der beschäftigt sich damit, fehlermeldungen verständlicher auszugeben
vielleicht hilfts
seppel86 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 54



BeitragVerfasst: Mo 23.02.04 20:28 
ok. trotzdem danke für die mühe, wenn jemand anders ahnung hat BITTE POSTEN!!!
MAlsleben
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 303

W2k,WinXP
D3 - DXE3 Enterprise
BeitragVerfasst: Di 24.02.04 08:43 
Hi,

soviel ich weiß, must Du vor dem Senden der von Daten den Client mit dem Server connecten. Poste mal den gesamten Code, der im Zusammenhang mit dem Client und Server - Socket steht. Da kann man besser helfen.

Gruß Micha.

_________________
Viele Wege führen nach Rom.
seppel86 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 54



BeitragVerfasst: Di 24.02.04 16:49 
Natürlich ist der Client mit dem Server connected, sonst wär das ja totaler Schwachsinn. Ich hab aber schon ne andere Lösung. Wenn ich versuche mit dem Befehl vom Server aus an die Clients zu schicken ist das so als wollt ich beim telefon durch das hörteil sprechen und nicht durch das sprechteil. mit serversocket1.socket.connections[i] (i ist der jeweilige Client) kann ich sachen verschicken.
Trotzdem danke für die Mühe
Seppel86
sebwa2k
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Di 24.02.04 21:35 
der befehl um vom server aus zu senden muss heißen:

ausblenden Quelltext
1:
Serversocket1.socket.connections[0].sendtext('Text');					


der server muss ja wissen an wen er senden soll...
wie du allerdings rausfindest welcher client welche nummer hat oder so weis nich nicht, daran bin ich immer gescheitert

sebwa
chritzl
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 49

WIN 98 - bald Linux! :-)
Delphi 1, 4, 6
BeitragVerfasst: Di 24.02.04 22:19 
sebwa2k hat folgendes geschrieben:
der befehl um vom server aus zu senden muss heißen:

ausblenden Quelltext
1:
Serversocket1.socket.connections[0].sendtext('Text');					


der server muss ja wissen an wen er senden soll...
wie du allerdings rausfindest welcher client welche nummer hat oder so weis nich nicht, daran bin ich immer gescheitert

sebwa


das wäre dann dass hier:
ausblenden Delphi-Quelltext
1:
  Serversocket1.Socket.Connections[Serversocket1.Socket.ActiveConnections-1].SendText('string');					


[Edit]
ups, da war ich wohl zu schnell und hab nicht richtig gelesen... sorry! Vielleicht aber doch interresant? :roll:
[/edit]

_________________
Geld ist rund und rollt weg, Bildung bleibt! Heine
Now known as NuCHiLL
seppel86 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 54



BeitragVerfasst: Mi 25.02.04 16:17 
Da ich ein 2 Player Spiel programmiere und einer der Server ist, gibt es nur ein Client. Und der hat dann logischer Weise die Nummer 0 zugeordnet. Wenn man an mehrere schicken will kann man das ja mit ner for schleife machen.