15.02.2010, 14:23
|
IchSelbst
LVF-Guru
Beiträge: 3.696
Registriert seit: Feb 2005
11, 14, 15, 17, 18
-
DE
97437
Deutschland
|
TCP IP
' schrieb:es ist ein Timeout Fehler
Das könnte bedeuten, dass nichts ankommt - auf der bereitgestellten Verbindung (beachte Adresse und Port).
Mir fällt doch noch was ein:
Sendest du in deinem Java-Programm auch über genau dieselbe Verbindung, wie du empfängst? Das sollte glaub ich so sein.
So aus dem Kopf kann ich folgendes sagen: Du bekommst (möglicherwiese auch in Java) im TCP-OnReceive einen (Pointer auf einen) Receivebuffer - und einen Handle auf einen TCP-Socket! Willst du auf eine Anfrage senden, so musst du diesen Socket verwenden. In Delphi ist das so. In Java auch?
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
|
|
|
15.02.2010, 14:31
(Dieser Beitrag wurde zuletzt bearbeitet: 15.02.2010 14:32 von ah90.)
|
ah90
LVF-Neueinsteiger
Beiträge: 6
Registriert seit: Feb 2010
8.0
-
de
8055
Oesterreich
|
TCP IP
hi,
Ich verwende in Java den gleichen Port.
Hab die Kommunkation zwischen 2 LabVIEWprogrammen mal ausprobiert und diese funktioniert einwandfrei. Keine Ahnung warum die Antwort zum Java Programm nicht funktioniert. In Java bekomme ich die Fehlermeldung, das die Verbindung vorher resetet wird.
lg
|
|
|
15.02.2010, 18:35
|
IchSelbst
LVF-Guru
Beiträge: 3.696
Registriert seit: Feb 2005
11, 14, 15, 17, 18
-
DE
97437
Deutschland
|
TCP IP
Ich kann deine Probleme mit Delphi nicht nachvollziehen. Bei mir geht alles so, wie du dir das vorstellst.
Ich weise nochmals darauf hin, dass der Port, mit dem eine Verbindugn geöffnet wird, nicht der ist, über den später tatsächlich kommuniziert wird. Wenn ich in Delphi die Verbindung mit "127.0.0.1-60000" öffne, hat der Socket, über den dann die tatsächliche verbindung stattfindet, die Werte "127.0.0.1-1145" (Der Port, hier mit 1145 angegeben, hängt vom aktuellen Zustand des Betriebsystems ab. Mit jeden neuen Öffnen einer Verbundung wird der um 2 hochgezählt)
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
|
|
|
05.03.2010, 10:19
(Dieser Beitrag wurde zuletzt bearbeitet: 08.03.2010 21:31 von rolfk.)
|
rolfk
LVF-Guru
Beiträge: 2.305
Registriert seit: Jun 2007
alle seit 6.0
1992
EN
2901GG
Niederlande
|
TCP IP
' schrieb:Ich kann deine Probleme mit Delphi nicht nachvollziehen. Bei mir geht alles so, wie du dir das vorstellst.
Ich weise nochmals darauf hin, dass der Port, mit dem eine Verbindugn geöffnet wird, nicht der ist, über den später tatsächlich kommuniziert wird. Wenn ich in Delphi die Verbindung mit "127.0.0.1-60000" öffne, hat der Socket, über den dann die tatsächliche verbindung stattfindet, die Werte "127.0.0.1-1145" (Der Port, hier mit 1145 angegeben, hängt vom aktuellen Zustand des Betriebsystems ab. Mit jeden neuen Öffnen einer Verbundung wird der um 2 hochgezählt)
Du bist wahrscheinlich hier im Clinch mit dem Remote und Local Port. Eine geöffnete Verbindung hat immer zwei Ports, die auf dem lokalen Rechner und die auf dem Remote Rechner. Wenn Du als Client eine Verbindung zu einem Server öffnest, tust Du das immer zu einem bestimmten Port im Server (man muss ja erst mal wissen wohin man etwas zu sagen hat). Die TCP/IP Socketimplementation wählt dann typischerweise auf der lokalen Seite einen arbiträren noch freien Port und baut die Verbinding zwischen diesen beiden Ports auf. (Man kann für den lokalen Port auch einen fixed Port vorgeben aber das ist optional und ungebräuchlich, und zudem mit Problemen verbunden da ein sogenanntes Linger Feature in der Socketlibrary einen Port immer eine gewisse Zeit reserviert hält nachdem die Verbindung abgeschlossen wurde, und wenn Du dann den gleichen Port innerhalb dieses Lingerintervals wieder öffnen willst bekommst Du einen Fehler.)
|
|
|
| |