BlueJ Methode für eine private Nachricht?
Hier ist der Code, ich brauche eine Methode mit der ich eine Nachricht an einen User an einen Server senden kann der nur dieser User sieht
public class EchoServer extends Server {
public EchoServer(int port) {
super(port);
System.out.println("Der DBG-ECHO-Server hat die IP " + getIP() + " und lauscht auf Port " + port + "!");
}
public void processNewConnection(String pClientIP, int pClientPort) {
System.out.println("Neue Verbindung von " + pClientIP + " : " + pClientPort + ".");
send(pClientIP, pClientPort, "Herzlich willkommen beim DBG-ECHO-Server, Quit um abzumelden, Everybody für Message an alle");
}
public void processMessage(String pClientIP, int pClientPort, String pMessage) {
if (pMessage.equals("Quit")) {
closeConnection(pClientIP, pClientPort);
}
if (pMessage.substring(0, 9).equals("Everybody")) {
sendToAll(pMessage);
}
System.out.println("Server hat Nachricht \"" + pMessage + "\" vom Client " + pClientIP + ":" + pClientPort + " empfangen.");
send(pClientIP, pClientPort, "Antwort vom DBG-ECHO-Server: Deine Nachricht lautete \"" + pMessage + "\".");
System.out.println("Server hat Nachricht \"" + pMessage + "\" an Client " + pClientIP + ":" + pClientPort + " zurückgesendet.");
//sendToAll(pMessage);
//closeConnection(pClientIP, pClientPort);
}
public void processClosingConnection(String pClientIP, int pClientPort) {
}
public void privateMessage(String pClientIP, int pClientPort, String pMessage) {
if (pMessage.substring(0, 9).equals(pClientIP)) {
System.out.println("User schrieb
send(pMessage);
}
}
public String getIP() {
try {
String ipAdresse = "" + InetAddress.getLocalHost();
String[] hostUndIP = ipAdresse.split("/");
String adressat = hostUndIP[0].trim();
ipAdresse = hostUndIP[1];
return ipAdresse;
}
catch (UnknownHostException e) {
e.printStackTrace();
1 Antwort
public void privateMessage(String pClientIP, int pClientPort, String pMessage, String pRecipientIP) {
if (isClientConnected(pRecipientIP)) {
send(pRecipientIP, pClientPort, pMessage);
}
}
Das wars dann schon !
du musst hier für pClientIP: Die IP-Adresse des Clients, der die Nachricht sendet einfügen, für pClientPort: Der Port des Clients, der die Nachricht sendet, für pMessage: Die Nachricht, die gesendet werden soll und für pRecipientIP: Die IP-Adresse des Empfängers der Nachricht.
isClientConnected() überprüft ob der Empfänger an der Verbindung beteiligt ist, wenn ja wird mit der methode send() die Nachricht an den empfänger gesendet.
Ja klar, logisch. Du musst die Methode ja auch deklarieren und implementieren. Aber wenn du jetzt eine lösung gefunden hast, dann ist ja gut
Wie deklariere ich die? Hab das Problem mit ClientIP gelöst
Ich wär über deine Hilfe wirklich sehr dankbar 🙏🏽
Hallo,
Sorry, habe seit heute morgen nicht mehr auf GF geschaut, war sehr beschäftigt. Schick mir mal bitte eine PN, ich antworte dir nachher.
pRecipientIP und pClientPort sind undeclared. Was tun?
Hat sich geklärt aber isClientConnected ist eine undeclared method