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();

...zur Frage
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.

...zur Antwort
Minecraft Server crasht beim Start?

Hi,

das hier steht im Log: "

PS F:\minecraft> java -Xmx8192M -Xms7168M -jar server-1.20.2.jar

Starting net.minecraft.server.Main

[12:16:51] [ServerMain/INFO]: Environment: Environment[accountsHost=https://api.mojang.com, sessionHost=https://sessionserver.mojang.com, servicesHost=https://api.minecraftservices.com, name=PROD]

[12:16:52] [ServerMain/INFO]: Loaded 7 recipes

[12:16:52] [ServerMain/INFO]: Loaded 1271 advancements

[12:16:52] [Server thread/INFO]: Starting minecraft server version 1.20.2

[12:16:52] [Server thread/INFO]: Loading properties

[12:16:52] [Server thread/INFO]: Default game type: SURVIVAL

[12:16:52] [Server thread/INFO]: Generating keypair

[12:16:52] [Server thread/INFO]: Starting Minecraft server on [Ip Andresse]

[12:16:52] [Server thread/INFO]: Using default channel type

[12:16:52] [Server thread/WARN]: **** FAILED TO BIND TO PORT!

[12:16:52] [Server thread/WARN]: The exception was: java.net.BindException: Cannot assign requested address: bind

[12:16:52] [Server thread/WARN]: Perhaps a server is already running on that port?

[12:16:52] [Server thread/ERROR]: Encountered an unexpected exception

java.lang.IllegalStateException: Failed to initialize server

       at net.minecraft.server.MinecraftServer.w(SourceFile:680) ~[server-1.20.2.jar:?]

       at net.minecraft.server.MinecraftServer.a(SourceFile:263) ~[server-1.20.2.jar:?]

       at java.lang.Thread.run(Thread.java:833) ~[?:?]

[12:16:52] [Server thread/ERROR]: This crash report has been saved to: F:\minecraft\.\crash-reports\crash-2023-12-01_12.16.52-server.txt

[12:16:52] [Server thread/INFO]: Stopping server

[12:16:52] [Server thread/INFO]: Saving worlds

[12:16:52] [Server thread/ERROR]: Exception stopping the server

java.lang.NullPointerException: Cannot invoke "akq.B_()" because "$$5" is null

       at net.minecraft.server.MinecraftServer.a(SourceFile:539) ~[server-1.20.2.jar:?]

       at net.minecraft.server.MinecraftServer.t(SourceFile:598) ~[server-1.20.2.jar:?]

       at ajn.t(SourceFile:542) ~[server-1.20.2.jar:?]

       at net.minecraft.server.MinecraftServer.w(SourceFile:699) ~[server-1.20.2.jar:?]

       at net.minecraft.server.MinecraftServer.a(SourceFile:263) ~[server-1.20.2.jar:?]

       at java.lang.Thread.run(Thread.java:833) ~[?:?]"

habt ihr Ideen, wie ich das beheben kann?

Danke

...zur Frage

Ich kenne mich nicht wirklich mit Minecraft aus, man kann aber dem Logfile entnehmen dass du ein Problem hast mit dem Port. Also die Fehlermeldung zeigt an, dass der Minecraft Server aufgrund eines Portbildungsproblem nicht gestartet werden kann. Das bedeutet, dass der Server den angegebenen Port nicht verwenden kann, da er bereits von einem anderen Programm verwendet wird.

Guck mal ob dein Port den du für deinen Server gesetzt hast irgendwo anders aktiv verwendet wird, wenn nicht änder den Server Port. Wenn das immer noch nicht geht musst du deinen Router mal neu starten.

...zur Antwort

komplette Webseite mit onlineshop, logo erstellung und Domainverwaltung + SSL für 250 Euro ist schon krass billig. Also ich habe sowas ähnliches auch schon günstiger für einen Kollegen gemacht, das war aber eine Ausnahme. Ich denke da dürft ihr nicht viel erwarten für den Preis.

...zur Antwort

als python code:

from datetime import datetime


def minutes_timestamp(year, month, day, hour, minute):
    date = datetime(year, month, day, hour, minute)
    unix_timestamp = int(date.timestamp())  
    return unix_timestamp // 60  




year = 2023  
month = 1    
day = 1      
hour = 0     
minute = 0   




print(minutes_timestamp(year, month, day, hour, minute))

das kannst du dann beliebig umschreiben

...zur Antwort

Ich hatte früher auch Schwierigkeiten mich aufzuraffen und siehe da, ich habe sogar das Studium geschafft ;)

Das Wichtigste ist, dass du deine Motivation für das Informatikstudium wiederfindest. Warum möchtest du in der IT-Branche arbeiten? Was fasziniert dich an der Informatik? Wenn du dir diese Fragen beantworten kannst, wird es dir leichter fallen, dich für das Lernen zu motivieren.

Ich hatte früher nur studiert, dass heißt fast nur pure theorie. Als ich dann endlich fertig war und meinen ersten Job hatte, wusste ich nichts mit meinen Projekten anzufangen, da ich das theorie wissen im kopf hatte, allerdings nicht genau wusste wie ich die Informationen in Codes umsetzen sollte, da man im reinen Studium wirklich kaum Programmiert. Daher würde ich jedem empfehlen ein duales studium zu machen, da wird dir in der uni das therie wissen beigebracht und im betrieb erlernst du die praxis. So kannst du später viel einfacher ins Berufsleben einsteigen und hast schon in deiner Zeit im Studium erlernt wie man richtig programmiert.

Zu deinem Punkt :

Ich habe jedoch das Problem das ich mich in meiner Freizeit nicht dazu aufraffen kann eine Programmiersprache zu erlernen oder sonstiges in diese Richtung zu machen auch wenn ich weiß das ich das ganze Lieben werde. Ich würde gerne mal eure Ideen wissen wie ihr es schafft.

da kann ich dir nur folgendes zu sagen :

ohne lernen geht nix, es wird eine harte Zeit werde, aber das lernen lohnt sich !

...zur Antwort

Ich denke am einfachsten machst du es dir wenn du die greaterOrEqual Funktion benutzt. Die Funktion nimmt zwei Werte als Eingabe entgegen und gibt true zurück wenn der erste Wert größer oder gleich dem zweiten Wert ist. Das kann man dann natürlich auch für deine Funktion implementieren.

triggerCondition:
  body('VersionNumber') >= variables('numbersField')

der Trigger wird nur ausgelöst, wenn das Feld VersionNumber des SharePoint-Elements größer oder gleich dem Zahlenfeld ist.

...zur Antwort

Dann liegt das an deiner Festplatte, die ist wohl etwas überlastet. Würde die Festplatte mal austauschen. seagate barracuda kann ich dir empfehlen für desktop PC's

...zur Antwort

Nein,

Ein SSL-zertifikat verschlüsselt die Kommunikation zwischen einem Webserver. Dadurch werden sensible Daten wie z.B. Anmeldeinformationen oder andere Daten vor unbefugtem Zugriff geschützt.

Wenn die Hauptseite kein SSL-Zertifikat hat, ist die Kommunikation zwischen der Hauptseite und dem Browser nicht verschlüsselt. Dies bedeutet, dass ein Angreifer die Daten, die zwischen der Hauptseite und dem Browser übertragen werden, abfangen und lesen kann.

Wenn du das Formular mit einem <iframe> in die Hauptseite einbettest, wird das Formular weiterhin über die Hauptseite gesendet. Da die Hauptseite kein SSL-Zertifikat hat, ist die Kommunikation zwischen dem Browser und der Hauptseite nicht verschlüsselt. Dies bedeutet, dass ein Angreifer die Daten, die zwischen dem Browser und der Hauptseite übertragen werden, abfangen und lesen kann.

hier ist ssl und iframe ganz gut erklärt;

iframe: iframe - Wie funktioniert's und wo ist das Problem? (dr-datenschutz.de)

ssl: SSL-Zertifikat - Was ist das? | heise online

...zur Antwort
@media (max-width: 768px) and (aspect-ratio: 16/9) {
  .my-element {
    font-size: 20px;
  }
}

CSS bietet eine Methode namens aspect-ratio an. Damit kannst du das Seitenverhältnis eines Elements überprüfen. Du kannst sie entweder als numerischen Wert oder als Verhältnis angeben. 

Wenn Du einen numerischen Wert angibst, wird das Seitenverhältnis als Verhältnis von Breite zu Höhe interpretiert. Beispielsweise würde der Wert 16:9 ein Seitenverhältnis von 16 Pixel Breite zu 9 Pixel Höhe bedeuten.

Um dann das Seitenverhältnis zu überprüfen musst du die Methode in einer media query verwenden. Das bedeutet zum beispiel in meinem beispiel code, dass du die Schriftgröße zum beispiel bei einem Handy mit einem Seitenverhältnis von 16:9 erhöhst, so funktioniert das natürlich mit beliebigen größen.

...zur Antwort
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.