Eingehende UDP -Nachrichten, die für Netbeans IDE unter Windows 10 blockiert sindJava

Java-Forum
Anonymous
 Eingehende UDP -Nachrichten, die für Netbeans IDE unter Windows 10 blockiert sind

Post by Anonymous »

Aus historischen Gründen verwende ich Netbeans 12.5 immer noch mit mehreren Java/Javafx -Projekten. Ich habe einen E-Car-Ladegerät mit meinem LAN über einen Schalter. Ich habe die erforderlichen Ports geöffnet. Durch die Verwendung von UDP -Test -Tool 3.0 kann ich UDP -Nachrichten ohne Probleme an/vom Ladegerät senden und empfangen. Es funktioniert auch mit meiner Java -App, wenn ich einen .jar erstelle und aus einem Befehlsfenster (DOS -Eingabeaufforderung) ausstrahlt. So weit so gut! Sie erreichen nie meine Nachrichtenwarteschlange. Ich habe versucht, mit Berechtigungen in Windows Defender /Firewall herumzuspielen (nein 3. Rd -Party -Antivirus installiert).

Code: Select all

/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/javafx/FXMain.java to edit this template
*/
package listentest2;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import javafx.application.Application;
import javafx.concurrent.Task;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
< /code>
öffentliche Klasse ListEntest2 erweitert die Anwendung
{< /p>
private Thread listenThread;

Task chargerListenerTask = new Task()
{
int noOfMessages = 0;

@Override
protected Integer call() throws Exception
{
updateMessage("Listener thread started");
while (true)
{
if (isCancelled())
{
updateMessage("Listener thread cancelled");
break;
}

try
{
//          Constructs a datagram socket and binds it to the specified port on the local host machine..
DatagramSocket socket = new DatagramSocket(7090);
System.out.println("UDP listener started on port 7090");

// Buffer to hold incoming datagrams
byte[] buffer = new byte[1024];

while (true)
{
// Create a DatagramPacket to hold the incoming datagram
DatagramPacket packet = new DatagramPacket(buffer, buffer.length);

// Receive the incoming datagram
socket.receive(packet);

// Extract the message from the datagram
String message = new String(packet.getData(), 0, packet.getLength());
InetAddress chargerAddress = packet.getAddress();
int senderPort = packet.getPort();

// Print out the received message and sender's address
System.out.printf("Received message: \"%s\" from %s:%d%n", message, chargerAddress, senderPort);
}
}
catch (IOException e)
{
}
updateMessage("Listener thread: Listen terminated");
}
updateMessage("Listener thread  finished");
return 0;
}
};

@Override
public void start(Stage primaryStage)
{
listenThread = new Thread(chargerListenerTask);
listenThread.setDaemon(true);
listenThread.start();

Button btn = new Button();
btn.setText("Say 'Hello Listener'");
btn.setOnAction(new EventHandler()
{

@Override
public void handle(ActionEvent event)
{
System.out.println("Hello Listener!");
}
});

StackPane root = new StackPane();
root.getChildren().add(btn);

Scene scene = new Scene(root, 300, 250);

primaryStage.setTitle("Hello Listener!");
primaryStage.setScene(scene);
primaryStage.show();
}

/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
launch(args);
}
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post