ChatServer

Impoleon1111

Mitglied
Hallo ich folgende Frage:
Wie Programmier ich einen ChatServer und Clients am kürzersten (keine Benutzeroberflächen die hab ich schon) kann mir jmd. vielleicht die Funktions weise erklären?:rtfm:
Danke!
 

turtle

Top Contributor
ChatServer und Clients am kürzersten (keine Benutzeroberflächen die hab ich schon) kann mir jmd. vielleicht die Funktions weise erklären?

Wie kann man zu einem Programm eine Benutzeroberfläche schreiben ohne zu verstehen wie die funktioniert?

Manchmal bin ich echt verblüfft ob der Fragen die hier gestellt werden???:L

Aber einen Hinweis gebe ich trotzdem
 

Impoleon1111

Mitglied
Code:
Java:
import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class ChatFrame extends JFrame {

	private JPanel contentPane;
	private JTextField textField;
	static JTextArea textArea;
	static String i;
	static int p;

	/**
	 * Launch the application.
	 */
	public static void startChat(String IP,int port) {
					ChatFrame frame = new ChatFrame();
					frame.setVisible(true);
					textArea.setText(">>Startet Chat Client");
					i = IP;
					p = port;
	}

	/**
	 * Create the frame.
	 */
	public ChatFrame() {
		setTitle("S.G. Chat Client (STP)");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 450, 300);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		JScrollPane scrollPane = new JScrollPane();
		scrollPane.setBounds(6, 6, 438, 231);
		contentPane.add(scrollPane);
		
		textArea = new JTextArea();
		scrollPane.setViewportView(textArea);
		
		textField = new JTextField();
		textField.setBounds(6, 244, 289, 28);
		contentPane.add(textField);
		textField.setColumns(10);
		
		JButton btnSend = new JButton("Send");
		btnSend.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent ae) {
				
			}
		});
		btnSend.setBounds(307, 245, 117, 29);
		contentPane.add(btnSend);
	}
}
 
Zuletzt bearbeitet:

Sen-Mithrarin

Gesperrter Benutzer
[ot]an die letzten zwei spinner : eure accounts hier sind noch unnützer als das was ihr postet[/ot]


@TO
ein chat ist das simpelste beispiel einer server-client anwendung in der netzwerktechnik
auf der einen seite hast du deinen server der auf eingehende verbindungen wartet un diese dann entsprechend der logik verarbeitet
auf der anderen deine N clients die sich mit dem server verbinden und daten mit ihm austauschn

die allgemeine funktionsweise kurz erklärt

0) chat-server wird irgendwann in der vergangenheit gestartet
//...
1) chat-client wird gestartet und verbindet sich zum server
2) server nimmt verbindung an und packt sie in einen pool zur späteren weiterverarbeitung
ggf 2.5) authentifizierung des users
3) client sendet eine nachricht zum server
4) server liest nachricht vom client und verteilt diese an alle anderen verbundenen clients
5) nachricht kommt bei anderen clients an
//...

hierbei lernt man alle grundlagen für die netzwerk-programmierung die man braucht, wie multi-threading, korrekter umgang mit resourcen, sockets und streams, datentypen, encoding, etc

wenn du zu konkreten einzel-gruppen fragen hast, versuche diese frage so kurz wie möglich zu formulieren und gib diese dann einfach bei google ein
gut, vielleicht sollte man es nicht so knapp halten wie "ChatServer", das ist dann doch wirklich ein bisschen dolle kurz, aber sowas wie : "how to java chat" oder "java chat selbstgemacht" sollten gute ergebnisse liefern

eine gute lern-quelle, wenn auch mitlerweile hoffnungslos veraltet, findet man z.b. hier : Chat selbst gemacht

das ganze auf deinen code anzuwenden stell ich jetzt einfach mal als von dir machbare grund-vorraussetzung
 

Ähnliche Java Themen


Oben