我正在使用 swing jFrame 为我的客户端-服务器预订系统创建一个 GUI。我在客户端上遇到了我想使用在此声明的 DatagramSocket 的问题:
public BookingClientUI() throws SocketException {
DatagramSocket clientSocket = new DatagramSocket(9876);
initComponents();
RecvPacket recvProcess = new RecvPacket(clientSocket);
Thread recvThread = new Thread(recvProcess);
recvThread.start();
}
稍后在此按钮 ActionPerformed 中:
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
try {
String passwordString = new String(passwordfield.getPassword());
byte[] passwordBytes = passwordString.getBytes();
byte[] packetData = new byte[1500];
packetData = SendPacketHandler.packetConstructor(SendOpcodes.REGISTER_USER,usernamefield.getText(),EncryptionHandler.hashPassword(passwordBytes));
DatagramPacket packet = new DatagramPacket(packetData,packetData.length,InetAddress.getByName("127.0.0.1"),9876);
clientSocket.send(packet);
} catch (NoSuchAlgorithmException | UnknownHostException | IOException ex) {
Logger.getLogger(BookingClientUI.class.getName()).log(Level.SEVERE, null, ex);
}
}
显然,这条线:
clientSocket.send(packet);
由于声明的 DatagramSocket 不在范围内,因此出现“找不到符号”错误。但是我不知道如何解决这个问题,因为我只用 Java 编程了几天。
任何帮助,将不胜感激。