# ChatServer



## Impoleon1111 (31. Dez 2013)

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 (31. Dez 2013)

> 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 (31. Dez 2013)

turtle hat gesagt.:


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


Einfach eine Oberfläche mit einer JTextArea auf einem JScrollPane zum Lesen ein JTextField um zum schreiben und eine "Send" JButton wenn jmd. will ich kann auch den Code oder einen Screenshot hinzufügen. Danke:bae::toll:


----------



## Impoleon1111 (31. Dez 2013)

Code:

```
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);
	}
}
```


----------



## ChristianK (31. Dez 2013)

Naja, das als Chat zu bezeichnen ist doch etwas übermütig... Und wie man Chats realisiert steht bei Google zu Hauf


----------



## Impoleon1111 (1. Jan 2014)

Ich will doch keinen Code sondern einfach ein Prinzip in einer Grafik in einem Text oder was euch sonst noch so einfällt. 
Bitte


----------



## ChristianK (1. Jan 2014)

Dann google Socket.


----------



## -Subscription- (2. Jan 2014)

ChristianK hat gesagt.:


> Dann google Socket.



Durch solche Affen wie dich ist dieses Forum unnütz. Mach ruhig weiter so. Bye.


----------



## Sen-Mithrarin (2. Jan 2014)

[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


----------



## ChristianK (2. Jan 2014)

-Subscription- hat gesagt.:


> Durch solche Affen wie dich ist dieses Forum unnütz. Mach ruhig weiter so. Bye.



Tut mir leid - in dem Forum, in dem ich ursprünglich aktiv bin wanden solche Fragen direkt im Papierkorb. Weil das ist keine Frage, die man nich selber beantworten kann...

Jedoch trotzdem danke für das Kompliment, solch Freundlichkeit ist super...


----------

