Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.net.*;
import java.util.*;
import javax.swing.text.*;
/**
*
* Beschreibung.
*
* @version 1.0 vom 01.07.2004
* @author Bernd */
public class meinClient extends JFrame {
// Anfang Variablen
private JTextField jtfaus = new JTextField();
private JButton jbusenden = new JButton();
String chattext;
String newline = System.getProperty("line.separator");
//------------------------------------------------
JScrollPane scrollPane = new JScrollPane();
private JTextPane jtp1 = new JTextPane();
// Ende Variablen
public meinClient(final String title) {
// Frame-Initialisierung
super("UDP-Client"); // erzeugt den Fensternamen
addWindowListener(new WindowAdapter() {
public void windowClosing(final WindowEvent evt) { System.exit(0); } });
setBounds(30, 30, 700, 450);
Container cp = getContentPane();
cp.setLayout(null);
// Anfang Komponenten
jtfaus.setText("");
jtfaus.setBounds(10, 340, 500, 25);
getContentPane().add(jtfaus);
jbusenden.setText("senden");
jbusenden.setBounds(10, 370, 100, 25);
getContentPane().add(jbusenden);
jbusenden.addActionListener(new ActionListener() {
public void actionPerformed(final ActionEvent evt) {
jbusendenActionPerformed(evt); } });
jtp1.setBounds(10, 30, 500, 300);
jtp1.setEnabled(false);
jtp1.setContentType("TEXT/RTF");
jtp1.setText("Wilkommen im Chat" + newline);
getContentPane().add(jtp1);
scrollPane.setViewportView(jtp1);
scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
scrollPane.setBounds(10, 30, 500, 300);
getContentPane().add(scrollPane, BorderLayout.WEST);
// Ende Komponenten
setVisible(true);
}
// Anfang Ereignisprozeduren
public void jbusendenActionPerformed(final ActionEvent evt) {
chattext = jtfaus.getText();
String strbuff = jtp1.getText();
jtp1.setText(strbuff + chattext + newline); // Übergibt den Text zum JTextPane
jtfaus.setText(""); // leert das Textfeld
jtfaus.requestFocus (); // macht das Textfeld wieder aktiv
//----------------------------------------------------------------
try
{
DatagramPacket packet;
{
InetAddress ia = InetAddress.getByName( "localhost" );
String s = (chattext); //Dieser Text wird verschickt!
packet = new DatagramPacket( s.getBytes(),s.length(),ia,4711 );
DatagramSocket dSocket = new DatagramSocket();
dSocket.send( packet );
System.out.println( "Wird gesendet..." ); // vor Fertigstellung entfernen?
}
}
catch ( Exception e ) // Fehlerbehandlung
{
System.out.println( e );
}
}
// Ende Ereignisprozeduren
public static void main(final String[] args){ // Einstieg ins Programm
new meinClient("meinClient");
}
}
Hallo zusammen, habe einen UDP-Client gebastelt der im lokalem Netzwerk auch sendenkann.
Wie aber sieht es aus wenn der Server nicht im lokalem Netzwerk sondern irgendwo ans Internet angeschlossen ist?
Welche IP Adresse braucht der Client vom Server, Die IP im lokalem Netz oder die IP vom Router der vor dem router geschaltet ist, oder die Internet IP????????