Я пытаюсь создать приложение для чата (да, я знаю, не очень креативно) и хочу передать значение переменной сокета в другой метод.
Но я слишком озадачен тем, что мне делать?
Я уже пытался выдать его за аргумент, который по какой-то причине не работает, также пытался объявитьпеременные вне метода, который также не работает.
public void DeclaringVariables() throws IOException{
InetAddress group = InetAddress.getByName("239.255.255.255");
int port = 1201;
Scanner sc = new Scanner(System.in);
System.out.print("Enter your name: ");
name = sc.nextLine();
MulticastSocket socket = new MulticastSocket(port);
// Since we are deploying
socket.setTimeToLive(0);
//this on localhost only (For a subnet set it as 1)
socket.joinGroup(group);
Thread t = new Thread(new
ReadThread(socket,group,port));
// Spawn a thread for reading messages
t.start();
}
/**
*
*/
public void SendButton() {
try {
while(true) {
String message;
message = sc.nextLine();
if(message.equalsIgnoreCase(GroupChat.TERMINATE))
{
finished = true;
socket.leaveGroup(group);
socket.close();
break;
}
message = name + ": " + message;
byte[] buffer = message.getBytes();
DatagramPacket datagram = new
DatagramPacket(buffer,buffer.length,group,port);
socket.send(datagram);
}
}
catch (IOException ex) {
Logger.getLogger(ChatGUI.class.getName()).log(Level.SEVERE, null, ex);
}
}