Java Chat

Java-Chat

Die Bibliotheken von Java verfügen über eine Vielzahl von Klassen zur Unterstützung von Anwendungen über Netzwerke und insbesondere über das Internet, deren Referenz von der Einstellung der Eigenschaft java.rmi.server.dcg abhängt.

Programmierung eines Chats in Java

java.awt.EventQueue importieren; javax.swing.JFrame importieren; javax.swing.BoxLayout importieren; javax.swing.JScrollPane importieren; javax.swing.JTextArea importieren; javax.swing importieren. jtexField; Importeur net.miginfocom.swing.MigLayout ; Importeur javax.swing.JButton ; Importeur javax.swing.ScrollPaneConstants und javax.swing.JLabel ; Importeur com.jgoodies.forms.usines. DefaultComponentFactory; privater JFrame-Rahmen ; privater JScrollPane scrollPane ; privater JTextFeldtypFieldField ; privater JoButton stnSenden ; privater JTextArea-TextArea ; privater JTextFeldnameFeld ; privater BloDeinName; Rückgabe-Rahmen; Rückgabe-scrollPane ; RückgabetypFeld ; Rückgabe btnSende; Rückgabewert textArea ; Rückgabe report Field ; Rückgabe sinn$Name ; cBlend

Rahmen = Rahmen ; diese.scrollPane = scrollPane ; diese.typeField = typeField ; diese.btnSenden = blackSenden; diese.textArea = textArea = textArea ; diese.nameField = nameField ; diese.lblDeinName = lblDeinName Zeichen ; * Erstellen der Anwendung. initialize(m) ; * Initialisieren des Inhalts des Rahmens. Rahmen = neuer JFrame() ; Rahmen. setBounds (100, 100, 450, 300) ; frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) ; Rahmen.getContentPane().setLayout(new MigLayout("""", "[grow][grow][grow][grow]]", "[][grow][grow][]]][]]]") ; llblDeinName = DefaultComponentFactory.getInstance().

getContentPane ().add(lblDeinName, "cell 0 0,alignx trailing") ; namefeld = neues JTextField() ; nameField.setText("nameField") ; frame.getContentPane().add(nameField," Zelle 1 0,growx") ; nameFeld. setColumns (10) ; Scrollpaneel = neues JScrollPane() ; Scrollpaneel. setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS) ; frame.getContentPane(). add (scrollPane, "cell 0 1 2 1,grow")) ; textArea = new JTextArea() ; scrollPane.setViewportViewView(textArea) ; typeField = new JTextField() ; frame.getContentPane(). add(typeField, " Zelle 0 2,growx ") ; typeField. setColumns (10); buntenSenden = neue JButton("Send"); btnSenden.setActionCommand("send"); buntenSenden.addActionListener(new ChatController(this, m)); frame.getContentPane().add(btnSenden, "cell 1 2");

Java-Chat

Dieses Kapitel beschreibt, wie ein Chatprogramm in Java implementiert werden kann. Im Allgemeinen muss ein Progamm erstellt werden, das die Eingabe für jeden Chatteilnehmer erlaubt und alles anzeigt, was für andere Teilnehmer eingetragen wurde. Es wird als Mandant bezeichnet. Das zweite Progamm, der Chatserver, erhält alle Inputs von den Kunden und schickt sie an alle anderen Chatteilnehmer (d.h. an die Kunden).

Verschiedene Java-Klassen sind ebenfalls auf unserem Webserver gespeichert.

Beispiel: Chat-Client - Verwendung von Java in einem Netzplan

java.net.* ; java.io.* ; statischer finaler Zeichenkette-Analog = "ANMELDUNG" ; statischer finaler Zeichenkette-ENDE = "ENDE" ; statischer interner Port = 1234 ; Zeichenketten-Servername = "localhost" ; Zeichenkettentext = null ; DatagramPaketpaket ; Byte[] b = ANMELDUNG. der Zeichenkette. getsBytes (); if( args.length > 0 ) Servicename = args[0]; DatagramSocket-Sockel = neuer DatagramSocket(); InetAddress ia = InetAddress.

gotByName ( Servername) ; Paket = neues DatagramPacket( ba, Ba-Länge, ia, Port) ; socket.send( Paket) ; LeseThread lt = neues LeseThread( Socket) ; PufferedReader br = neuer BufferedReader(nouveau InputStreamReader( System.in)) ; Text = br.readLine() ; Ba = text.getBytes() ; Paket. setData( ba, 0, b) Länge ); socket.send( Paket); } while( ! text.equals("ENDE") ); System.exit(0); System.err.println("Exception error: " + e ); Dazu zählt die Kategorie ReadThread zum Empfangen von Meldungen. static int length = 256; DatagramSockcket Socket; thisSockel = Sockel; Gewinde t = neuer Gewinde (dieser, "Read"); t.

star() ; neues DatagramPaket( neues Byte[Länge], Länge) ; socket.receive( Paket) ; InetSocketAddress add = (InetSocketAddress)packet.getSocketAddress() ; Zeichenkettentext = neue Zeichenkette(Paket. getData(), 0, packet.getLength()); System.out.println( add +">" + Text); //System.out.println(">" + Text); System.err.println("Ausnahmefehler: " + e );