UDP-Daten anzeigen

Status
Nicht offen für weitere Antworten.

do3ysb

Mitglied
Hallo,
ich benutze folgendes Programm um UDP-Daten zu empfangen
Code:
import java.net.*;
import java.util.*;

public class UDPServer
{
  public static void main( String args[] )
  {
    try
    {
      DatagramSocket socket = new DatagramSocket( 93 );
      DatagramPacket packet;

      while ( true )
      {
        // Auf Anfrage warten

        packet = new DatagramPacket( new byte[1024], 1024 );
        socket.receive( packet );

        // Empfänger auslesen

        InetAddress address = packet.getAddress();
        int         port    = packet.getPort();
        int         len     = packet.getLength();
        byte        data[]  = packet.getData();

        System.out.println( "Anfrage von " + address +
                            " vom Port " + port +
                            " Länge " + len +
                            "\n" + new String( data, 0, len ) );
      }
    }
    catch ( Exception e )
    {
      System.out.println( e );
    }
  }
}

Das funktioniert auch soweit. Leider bekomme ich als ausgabe immer so komische zeichen. Kann man die empfangenen Daten irgendwie in bits wandelt, so das man nur 0 oder 1 sieht? Es geht darum das ich das Protokoll was dort läuft gerne näher betrachten möchte. Daher brauche ich die bits.

Gruss, Sebastian
 

bernd

Bekanntes Mitglied
Vieleicht kannste hier was brauchbares für Dich herausholen.
Der funktioniert!
:wink:
Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.net.*;
import java.util.*;

/**
  *
  * Beschreibung.
  *
  * @version 1.0 vom 19.08.2004
  * @author Bernd
  */

public class UDP_S extends JFrame {
  // Anfang Variablen
  static final JTextPane jtp1 = new JTextPane();
  static final String newline = System.getProperty("line.separator");
  private JTextPane jtpeingabe = new JTextPane();
  private JButton jbusenden = new JButton();
  private JScrollPane jsp1 = new JScrollPane();
  private JButton jbuende = new JButton();
  private JScrollPane jsp2 = new JScrollPane();
  private JButton jbubeenden = new JButton();
  private JComboBox jcbIP = new JComboBox();
  private JButton jbuHost = new JButton();
  private JLabel jlbHost = new JLabel();

  // Ende Variablen

  public UDP_S(final String title){

    // Frame-Initialisierung
    super("Bernd sein Intranet - Chat, Version 1.0");
    addWindowListener(new WindowAdapter() {
      public void windowClosing(final WindowEvent evt) { System.exit(0); } });
    setBounds(20, 20, 600, 525);
    Container cp = getContentPane();
    cp.setLayout(null);

    // Anfang Komponenten

     jtp1.setBounds(5, 5, 300, 370);
     jtp1.setEnabled(false);
     jtpeingabe.setBounds(5, 370, 300, 80);
     getContentPane().add(jtp1);
    getContentPane().add(jtpeingabe);
    jbusenden.setText("senden");
    jbusenden.setBounds(5, 455, 80, 25);
    getContentPane().add(jbusenden);
    jbusenden.addActionListener(new ActionListener() {
      public void actionPerformed(final ActionEvent evt) {
        jbusendenActionPerformed(evt); } });

    jsp1.setViewportView(jtp1);
    jsp1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
    jsp1.setBounds(5, 5, 300, 300);
    getContentPane().add(jsp1);
    jsp2.setBounds(5, 370, 300, 80);
    jsp2.setViewportView(jtpeingabe);
    getContentPane().add(jsp2);
    jbubeenden.setText("beenden");
    jbubeenden.setBounds(480, 455, 100, 25);
    getContentPane().add(jbubeenden);
    jbubeenden.addActionListener(new ActionListener() {
      public void actionPerformed(final ActionEvent evt) {
        jbubeendenActionPerformed(evt); } });
        
    jcbIP.addItem("");
    jcbIP.addItem("192.168.0.2");
    jcbIP.addItem("192.168.0.3");
    jcbIP.setEditable(true);
    jcbIP.setBounds(310, 5, 100, 25);
    jcbIP.setToolTipText("IP des Zielrechners eingeben!");
    getContentPane().add(jcbIP);

    jbuHost.setText("Hostname + IP");
    jbuHost.setToolTipText("ermittelt Host + IP vom eigenen Rechner");
    jbuHost.setBounds(310, 315, 120, 25);
    getContentPane().add(jbuHost);
    jbuHost.addActionListener(new ActionListener() {
      public void actionPerformed(final ActionEvent evt) {
        jbuHostActionPerformed(evt); } });

    jlbHost.setText("??? . ??? . ? . ? . ?");
    jlbHost.setBounds(310, 330, 320, 45);
    getContentPane().add(jlbHost);

        JOptionPane.showMessageDialog(this, "Willkommen im chat", "Hallo erst mal ...", JOptionPane.INFORMATION_MESSAGE);
// Ende Komponenten
           setVisible(true);
  }
  // Anfang Ereignisprozeduren

  public void jbusendenActionPerformed(final ActionEvent evt) {
        try
    {

        DatagramPacket packet;
        String ipAdresse = (String) jcbIP.getSelectedItem();
        InetAddress ia = InetAddress.getByName( ipAdresse );
        String s = jtpeingabe.getText();
        packet = new DatagramPacket( s.getBytes(),s.length(),ia,4711 );
        DatagramSocket dSocket = new DatagramSocket();
        dSocket.send( packet );
        String textanzeige = jtp1.getText();
        jtp1.setText(textanzeige + newline + s);
        jtpeingabe.setText("");
        jtpeingabe.requestFocus();
        dSocket.close();
    }
    catch ( Exception e )
    {
      System.out.println( e );
    }
  }

  public void jbubeendenActionPerformed(final ActionEvent evt) {
      System.exit(0);
  }

  public void jbuHostActionPerformed(final ActionEvent evt) {
     try {

        jlbHost.setText( "Host / Adresse: " + InetAddress.getLocalHost());

     }
     catch (Exception e)
     {
      System.out.println( e );
     }
  }

  // Ende Ereignisprozeduren

  public static void main(final String[] args) {
    new UDP_S("UDP_S");
    try
    {
      DatagramSocket socket = new DatagramSocket(4711);
      DatagramPacket packet;
      while (true)
      {
        // auf Anfrage warten
        packet = new DatagramPacket(new byte[1024], 1024);
        socket.receive(packet);
        //Empfang auslesen
        int port = packet.getPort();
        int len = packet.getLength();
        byte data[] = packet.getData();
        String textanzeige = jtp1.getText();
        jtp1.setText(textanzeige + "\n" + new String(data, 0, len));

      }
    }
    catch (Exception e)
    {
      System.out.println(e);
    }

  }

}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E HTTPS Debuggen (verschlüsselte Daten anzeigen)? Netzwerkprogrammierung 12
OnDemand Daten per API senden, parallel Netzwerkprogrammierung 9
X Kann ich einen Client/Server verbindung hinkriegen die mir alle paar Sekunden die aktuellen Daten per Realtime zuschickt ? Netzwerkprogrammierung 9
Z Kann nicht Daten vom Server lesen Socket Netzwerkprogrammierung 10
S Daten über TCP/IP senden Netzwerkprogrammierung 3
B Daten an Javaprogramm per URI Aufruf übergeben Netzwerkprogrammierung 7
N websocket - keine Daten mehr nach ca 80 Sekunden Netzwerkprogrammierung 0
C Spezielle Daten aus Website entnehmen Netzwerkprogrammierung 5
H Daten auf einer Webseite eintragen Netzwerkprogrammierung 11
A Socket Daten in Textdokument speichern? Netzwerkprogrammierung 1
T Socket Java Programm hängt sich auf bei dem versuch von einem Socket scanner Daten zu erhalten. Netzwerkprogrammierung 1
J Daten von einem HTML-Textfeld abrufen Netzwerkprogrammierung 3
S Fakturierungsprogramm - Daten aktuell halten (blutiger Anfänger) Netzwerkprogrammierung 1
D Mit Server Daten austauschen Netzwerkprogrammierung 4
K Server liest Daten nicht Netzwerkprogrammierung 6
L HTTP Daten an Server übergeben Netzwerkprogrammierung 2
R Daten von Cloud laden Netzwerkprogrammierung 5
fLooojava Daten an ein Arduino im selben Netzwerk senden Netzwerkprogrammierung 1
X Daten können nicht sofort empfangen werden Netzwerkprogrammierung 1
S Server - Mehrere Klassen sollen Daten senden und empfangen Netzwerkprogrammierung 25
P Socket Best Practice: Daten bündeln Netzwerkprogrammierung 5
E Verfügbarkeit von Daten in Streams Netzwerkprogrammierung 4
F Daten aus Internetseiten auslesen Netzwerkprogrammierung 56
S Server Client Daten hin und herschicken Netzwerkprogrammierung 2
S Seltsames Verhalten beim Empfangen von Daten über DataInputStream Netzwerkprogrammierung 12
P Socket Daten senden mit ServerSocket? Netzwerkprogrammierung 2
H Daten an Textfeld einer Webseite schicken Netzwerkprogrammierung 2
A versch. Daten im Stream erkennen Netzwerkprogrammierung 2
D daten per post senden Netzwerkprogrammierung 3
M Senden von Daten nicht direkt möglich? Netzwerkprogrammierung 6
J Applet soll Daten auf Server ablegen - einfachster Weg fuer n00bs? Netzwerkprogrammierung 4
F Socket Daten über verschiedene IP's schicken Netzwerkprogrammierung 5
F UDP Daten kommen nicht an Netzwerkprogrammierung 22
E Socket OutputSream abbruch.Wegen zuviel !empfangener! Daten? Netzwerkprogrammierung 10
C Client zu Client Daten übertragen Netzwerkprogrammierung 13
S Thread, Daten vom Socket lesen Netzwerkprogrammierung 2
S Socket XML-Daten und Parameter an Server schicken Netzwerkprogrammierung 3
M Objekt über Object-Stream, empfange "alte" Daten Netzwerkprogrammierung 2
P HttpClient - Daten einer Website "unvollständig" Netzwerkprogrammierung 5
P Server/Client Daten empfangen, wenn Daten gesendet werden Netzwerkprogrammierung 9
K Socket Daten lesen ohne Längenangabe Netzwerkprogrammierung 19
T RMI Effizenteste Übertragung von Daten Netzwerkprogrammierung 6
A Socket Client Server Connection wird aufgebaut aber keine daten geschickt. Netzwerkprogrammierung 5
B Socket Daten empfangen funktioniert nicht richtig - wo liegt der Fehler? Netzwerkprogrammierung 7
Kr0e Versenden von Daten übers Netzwerk Netzwerkprogrammierung 30
E Daten kommen anders an als gesendert ?! Netzwerkprogrammierung 6
S HttpURLConnection POST splittet Daten in zwei Pakete Netzwerkprogrammierung 9
F POST-Daten sende Netzwerkprogrammierung 3
N Per POST -Methode Daten an den Web-Server übertragen. Netzwerkprogrammierung 9
Iron Monkey Große Daten ins Vector füllen Netzwerkprogrammierung 4
S Probleme beim senden von Daten per POST Methode an PHP Scrip Netzwerkprogrammierung 5
D Daten, die mit PHP erzeugt werden, mit Java auslesen Netzwerkprogrammierung 8
M Ethernet Daten abfangen Netzwerkprogrammierung 13
F Daten senden und empfangen mit Applet Netzwerkprogrammierung 8
I Problem beim empfangen von Daten (Zahlen) Netzwerkprogrammierung 7
S Daten per GET-Methode Netzwerkprogrammierung 2
H Server soll Daten schicken, aber wie? Netzwerkprogrammierung 47
M Socket schließt bevor Daten komplett geladen Netzwerkprogrammierung 5
C Flash Daten an Java senden, wie serialisieren? Netzwerkprogrammierung 3
E rxtx serielles senden von Daten Netzwerkprogrammierung 2
D Socket, Daten über BufferedWriter senden Netzwerkprogrammierung 18
G TCP Verbindung überprüfen OHNE daten zu verschicken Netzwerkprogrammierung 11
M Daten übers Netz verschlüsselt übertragen? Wie? Netzwerkprogrammierung 18
J Post-Daten an URL schicken Netzwerkprogrammierung 2
U Image erzeugen aus empfangenen Daten Netzwerkprogrammierung 7
A Wie werden Daten versendet? "Crashcode" Netzwerkprogrammierung 4
D Frage: Buffered Reader --> Wie komm ich an die Daten (Byt Netzwerkprogrammierung 3
G unvollständige Daten: Http Client-Server-Kommunikation Netzwerkprogrammierung 2
E Multi-Part Form-Daten mit HttpURLConnection Netzwerkprogrammierung 6
A Datenverlust (zuviele Daten!) über Sockets Netzwerkprogrammierung 4
T Daten über GSM verschicken Netzwerkprogrammierung 4
M Einfachste Möglichkeit aus'm Applet Daten an Server senden Netzwerkprogrammierung 6
P Verschiedene Daten über einen Stream Netzwerkprogrammierung 4
M Verliere Daten mit WinXP Netzwerkprogrammierung 10
O eingehende Daten speichern Netzwerkprogrammierung 3
D Daten per Server- Client nur als byte verschicken? Netzwerkprogrammierung 3
A daten an php script per post senden und ausgabe einlesen Netzwerkprogrammierung 6
L30nS RMI RMI-Server kann Dialog nicht volkommen anzeigen Netzwerkprogrammierung 2
MaxG. Ping in JTextArea anzeigen Netzwerkprogrammierung 11
A RMI Fortschritt bei Up/Download anzeigen Netzwerkprogrammierung 6
G Frage zu Servlets und deren Objekte + Bilder in Servlets anzeigen? Netzwerkprogrammierung 11
cowabunga1984 Transferierte Datenmenge eines SOAP Clients (JAX-WS) anzeigen Netzwerkprogrammierung 2
Y Anzeigen, kopieren, löschen. Netzwerkprogrammierung 3
O [IRC] Userliste und Server Messages auslesen und anzeigen Netzwerkprogrammierung 4

Ähnliche Java Themen


Oben