Программирование на Java
Шрифт:
}
}
protected void service {
DatagramPacket datagram;
InetAddress clientAddr;
int clientPort;
byte[] data;
while (keepRunning) {
try {
data = new byte[LENGTH_RECEIVE];
datagram = new DatagramPacket(data, data.length);
servSocket.receive(datagram);
clientAddr = datagram.getAddress;
clientPort = datagram.getPort;
data = getSendData(datagram.getData);
datagram = new DatagramPacket(data, data.length,
clientAddr, clientPort);
servSocket.send(datagram);
}
catch(IOException e) {
System.err.println("I/O Exception : " + e.toString);
}
}
}
protected byte[] getSendData(byte b[]) {
byte[] result = new byte[b.length+answer.length];
System.arraycopy(b, 0, result, 0, b.length);
System.arraycopy(answer, 0, result, b.length, answer.length);
return result;
}
}
Заключение
В данном разделе были рассмотрены теоретические основы сети как одной большой взаимодействующей системы. Были описаны все уровни модели OSI и их функциональные назначения. Также были представлены основные утилиты, используемые для настройки и обнаружения неисправностей в сети. Затем были рассмотрены средства Java для работы с наиболее распространенными сетевыми протоколами. Приведен подробный пример и для более сложного случая – сервер, обслуживающий несколько клиентов одновременно.