Über IP verschicken

PINTOR

Mitglied
Moin,
Kann ich ein Programm schreiben womit ich über meine IP-Adresse Dinge verschicken bzw. steuern kann.
Also z.B. von meinem Laptop an meinen Rechner etwas schicke, oder vom Laptop dinge am PC ändere?!
:rtfm:
 

Cola_Colin

Top Contributor
Ja du kannst über die IP-Adresse Daten an einen Port eines anderen Systems verschicken und wenn auf dem Port ein Programm auf input wartet kann dieses sogar mit diesen Daten irgendwas tun.
Suche mal nach Sockets in Java.
Alternativ gibt es auch noch RMI.
 

Cola_Colin

Top Contributor
Das einzige, was ich bisher, schlicht aus Neugierde, mit Sockets gemacht habe:
Java:
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.util.Scanner;

/**
 *
 * @author Colin Clausen
 */
public class SimpleChat {

    public static void main(String[] args) {
        SimpleChat chat = new SimpleChat();
        Scanner sc = new Scanner(System.in);

        System.out.println("IP-Addresse des Chat-partners:\n");
        String ip = sc.next();
        try {
            chat.connect(InetAddress.getByName(ip));
        } catch (Exception ex) {
            ex.printStackTrace();
        }

        System.out.println("Chat mit "+ip+", zum Beenden \"CloseChat\" eingeben!");

        String txt = null;
        do {
            txt = sc.nextLine();
            if (txt.equals("CloseChat")) {
                break;
            } else {
                try {
                    chat.sendMsg(txt);
                } catch (Exception ex) {
                    ex.printStackTrace();
                }
            }
        } while(true);

        chat.disconnect();
    }
    
    public static final int PORT = 4711;
    private DatagramSocket socket;
    private InetAddress partner;
    private Thread msgReceiverThread;
    private volatile boolean listening;

    public void sendMsg(String msg) throws IOException {
        byte[] data = msg.getBytes();
        socket.send(new DatagramPacket(data, data.length, partner, PORT));
    }

    private void msgReceived(String msg) {
        System.out.println(">"+msg);
    }

    public void disconnect() {
        listening = false;
        socket.close();
    }

    public void connect(InetAddress p) throws SocketException {
        if (!listening) {
            listening = true;

            partner = p;
            socket = new DatagramSocket(PORT);

            Runnable runner = new Runnable() {
                @Override
                public void run() {
                    while (listening) {
                        try {
                            byte[] data = new byte[1024];
                            DatagramPacket msg = new DatagramPacket(data, data.length);
                            socket.receive(msg);
                            msgReceived(new String(msg.getData()).trim());
                        } catch (IOException ex) {
                            if (!listening) {
                                break;
                            } else {
                                ex.printStackTrace();
                            }
                        }
                    }
                }
            };

            msgReceiverThread = new Thread(runner);
            msgReceiverThread.start();
        }
    }
}
Ist sicherlich eher Verbesserungswürdig ;)
Wie gesagt, such dir Tutorials zu RMI oder zu Sockets.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Ray19941 Über BlueJ Textdatei selbstständig erstellen lassen Java Basics - Anfänger-Themen 2
C Methoden Über eine einfach verkettete Liste Java Basics - Anfänger-Themen 8
B OOP Über einen AVL-Baum iterieren (NullPointer) Java Basics - Anfänger-Themen 5
B OOP Über eine doppelt verkettete Liste iterieren Java Basics - Anfänger-Themen 4
O Über Map laufen Erklärung Java Basics - Anfänger-Themen 4
U Best Practice Buttons sollen ÜBER Labeln liegen, also quasi im Vordergrund. WIE? Java Basics - Anfänger-Themen 4
AssELAss Über ein Objekt vom Typ BigDecimal iterieren Java Basics - Anfänger-Themen 6
L Über 100e Werte anzeigen Java GUI Java Basics - Anfänger-Themen 1
0 Über CMD die JAVA Datei ausführen? möglich? Java Basics - Anfänger-Themen 8
A Über Jahr iterieren, Freitag der 13. Java Basics - Anfänger-Themen 2
S Über Button Zeichnung ändern Java Basics - Anfänger-Themen 5
G Erste Schritte Über verschiedene Datentypen iterieren. Gibt es sowas? Java Basics - Anfänger-Themen 19
J Über ... Dialog (Mac OS) Java Basics - Anfänger-Themen 8
L Über abstrakte Klasse auf eine Klasse zugreifen? Java Basics - Anfänger-Themen 6
D Über ein Interface methoden ansprechen Java Basics - Anfänger-Themen 9
C Über Boolean Static, String ausgeben Java Basics - Anfänger-Themen 3
S Über Bild zeichnen Java Basics - Anfänger-Themen 21
H Mac Menu-Über Programm anpassen Java Basics - Anfänger-Themen 3
K Datentypen Über Collection iterieren bringt fehler Java Basics - Anfänger-Themen 8
P Über HashMap iterieren -> NullPointerException Java Basics - Anfänger-Themen 2
J Array List - Über die Konsole eingeben Java Basics - Anfänger-Themen 1
A Struts: Über Collection iterieren mir Taglibs? Java Basics - Anfänger-Themen 13
G Über Button DB Tabelleninhalt löschen Java Basics - Anfänger-Themen 24
M Über einen Button etwas zeichnen lassen Java Basics - Anfänger-Themen 5
G Über undo, copy, cat, paste, delete Funktionen Java Basics - Anfänger-Themen 3
D Über Button abhängig von Auswahl 2 versch. Fenster öffnen Java Basics - Anfänger-Themen 2
L IP-Adresse verschicken Java Basics - Anfänger-Themen 2
S Email verschicken Java Basics - Anfänger-Themen 2
V Objekt serialisieren/Deserialisieren und per get verschicken Java Basics - Anfänger-Themen 5
J Datei über virtuellen Comport verschicken Java Basics - Anfänger-Themen 5
G mail verschicken Java Basics - Anfänger-Themen 3
G eMail verschicken in einem Java-Programm Java Basics - Anfänger-Themen 8
W E-Mails verschicken Java Basics - Anfänger-Themen 7
G Strings übers Netzwerk verschicken Java Basics - Anfänger-Themen 2
T Datei über UDP verschicken . Speicherprobleme am Client Java Basics - Anfänger-Themen 4
J Große *.Text Datei zum verschicken in viele kleine Java Basics - Anfänger-Themen 7
E E-Mails verschicken mit Java Java Basics - Anfänger-Themen 14
M Textfield String einlesen und an socketclient verschicken Java Basics - Anfänger-Themen 12

Ähnliche Java Themen

Neue Themen


Oben