AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Verbindung zu einem Java Ticker über Socket

Verbindung zu einem Java Ticker über Socket

Offene Frage von "Maccista"
Ein Thema von Maccista · begonnen am 16. Sep 2003
Antwort Antwort
Maccista

Registriert seit: 12. Sep 2003
1 Beiträge
 
#1

Verbindung zu einem Java Ticker über Socket

  Alt 16. Sep 2003, 14:48
Hallo,

ich versuche seit einigen Tagen eine Verbindung zu einem in Java Programmierten Ticker herzustellen. Leider kenne ich mich mit Java nicht aus und bin was Delphi anbelangt eher ein einsteiger.
Nun zum Problem:
Ein in Java geschriebenes Programm öffnet eine Socket Verbindung über ein bestimmten Port und wartet dort auf verbindung.
Wenn ein Client sich dort connectiert und ein String in UTF8 Modus sendet zb. 'gettext' dann sendet dieser Java Server ebenfalls einen String zurück.

Nun versuche ich über Delphi ein Programm zu schreiben der sich mit diesem Server sich verbindet und diesen String sendet und empfängt.

Die Verbindung zu dem Java Server bekomme ich hin, aber egal wie ich versuche zu senden, der Server bekommt davon nichts mit.

Hier ist der ABschnitt zum Anfordern des Texts vom Ticker in Java:
***********
if (income.startsWith("/@gettext")){
DataOutputStream dd = new DataOutputStream(s1.getOutputStream());
dd.writeUTF(txtField.getText());
}

Du musst in UTF Format den String "/@gettext" zuschicken auf Port: 1234
***********

Was mir auffällt sofern ich es interpretieren kann, wird ein String als Stream gesendet und empfangen.
Wie würdet ihr das in Delphi umsetzen, ich habe es folges vergeblich versucht.

zb. über ClientSocket.Socket.SendText einen String zu senden vorher sogar mit utf8encode (string); diesen umgewandelt, ohne erfolg.

ferner versuchte ich es mit Client.Socket.SendStream(FileStream);
den String aus einer Datei zu senden, hat leider auch nicht geklappt.

Dieser Java Server bekommt einfach nicht mit, egal was ich versuch ihm zu senden.
Ich weis auch nicht ob die Socket-Verbindung asynchron sein muß, habe aber beides getestet.

Übrigens der Java Server funktioniert, denn mit einem Client Program der auch in Java geschrieben wurde funktioniert alles.

Hier der Auszug von diesem Java Client:
***************
import java.net.*;

import java.io.*;

import javax.swing.*;



public class Client {



public static void main(String[] args) throws Exception {

// final String rechner =

// JOptionPane.showInputDialog("Bitte Ticker-Server eingeben");

// final String port =

// JOptionPane.showInputDialog("Bitte Port eingeben");



// Socket s1 = new Socket(rechner, Integer.parseInt(port));

Socket s1 = new Socket("localhost", 1234);

DataOutputStream dos = new DataOutputStream(s1.getOutputStream());

dos.writeUTF("/@speed01");

dos.close();

s1.close();

}



}

**************

Zu Testzwecken wurde dieser Server sogar so ummodifizert das egal was als String gesendet wird, er diesen einfach nur auf den Bildschirm wieder ausgibt, um zu prüfen ob überhaupt etwas vom Server empfangen wird. Bislang habe ich es nicht geschaftft das er überhaupt etwas empfangen hat. Wie müßte
DataOutputStream dos = new DataOutputStream
in Delphi heißen?

Könnt Ihr mir da weiter helfen ?

[edit=MrSpock]Zweiten gleichlautenden Beitrag gelöscht. Mfg, MrSpock[/edit]
  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 15:55 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