fonte
Power Member
Pessoal sou algo po iniciante em sockets e tou com um problema que a meu ver até era simples. O que tou a tentar fazer para já é apenas enviar uma string 10 vezes a partir de um cliente, e do lado do servidor incrementar uma variavel que irá até 10 vezes de acordo com a recepçao da string. Aqui tá o código do cliente e do servidor:
Cliente:
Servidor:
Quando corro isto dá o seguinte erro:
Exception in thread "main" java.net.SocketException: Address already in use: Cannot bind
at projectoservidor.Main.main(Main.java:42)
Java Result: 1
Se alguem me conseguir ajudar agradeço.
Cliente:
Código:
public static void main(String[] args) throws Exception{
DatagramSocket clientSocket;
try {
clientSocket = new DatagramSocket() ;
InetAddress IPAddress = InetAddress.getLocalHost();
byte[] sendData = new byte[1024];
String sentence = "ComComp";
sendData = sentence.getBytes();
DatagramPacket sendPacket = new DatagramPacket(sendData,sendData.length,IPAddress, 9876);
for(int i=0;i<10;i++) clientSocket.send(sendPacket);
clientSocket.close();
}
catch(SocketException e){throw new SocketException (e.getMessage()); }
catch(IOException e){throw new IOException (e.getMessage()); }
}
Servidor:
Código:
public class Main {
public static void main(String[] args) throws Exception {
int i, datagramas=0;
DatagramSocket serverSocket;
try {
serverSocket = new DatagramSocket(9876);
byte[] receiveData = new byte[1024];
while(true) {
DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
serverSocket.receive(receivePacket);
String sentence = new String(receivePacket.getData(),0,receivePacket.getLength());
datagramas++;
}
}
catch(SocketException e){throw new SocketException (e.getMessage()); }
catch(IOException e){throw new IOException (e.getMessage());}
}
}
Quando corro isto dá o seguinte erro:
Exception in thread "main" java.net.SocketException: Address already in use: Cannot bind
at projectoservidor.Main.main(Main.java:42)
Java Result: 1
Se alguem me conseguir ajudar agradeço.
Última edição pelo moderador: