2014-01-25 2 views
0

Я написал этот код Получать данные от клиента через гнездоНесколько клиентов в сервере UDP

import java.io.*; 
import java.net.*; 

class UDPServer 
{ 
    public static void main(String args[]) throws Exception 
     { 
     DatagramSocket serverSocket = new DatagramSocket(12890); 
      byte[] receiveData = new byte[1024]; 
      byte[] sendData = new byte[1024]; 
      while(true) 
       { 
        DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length); 
        serverSocket.receive(receivePacket); 
        String sentence = new String(receivePacket.getData()); 
        System.out.println("RECEIVED: " + sentence); 
        InetAddress IPAddress = receivePacket.getAddress(); 
        int port = receivePacket.getPort(); 
        String capitalizedSentence = sentence.toUpperCase(); 
        sendData = capitalizedSentence.getBytes(); 
        DatagramPacket sendPacket = 
        new DatagramPacket(sendData, sendData.length, IPAddress, port); 
        serverSocket.send(sendPacket); 
       } 
     } 
} 

Но если я пытаюсь запустить другой клиент его не работать, выглядеть, если сервер блокируется. Как я могу изменить код, чтобы сервер обменивался информацией с более чем одним клиентом.

ответ

Смежные вопросы