Я читал о DatagramChannel в одном из учебника website.They объяснил следующую программу образцаясно() метод ByteBuffer в Java
String newData = "New String to write to file..."
+ System.currentTimeMillis();
ByteBuffer buf = ByteBuffer.allocate(48);
buf.clear();
buf.put(newData.getBytes());
buf.flip();
int bytesSent = channel.send(buf, new InetSocketAddress("example.com", 80));
Они добавили buf.clear линии() после того, как созданный класс ByteBuffer объект. clear() предназначен для очистки буфера. Но сначала нам не нужно очищать право, если это необходимо там, то почему мы должны использовать?. спасибо. (Извините, если какие-либо ошибки в грамматике)
flip() используется для изменения режима (от/до) записи (в/из) режима чтения. Каков режим по умолчанию? если он является режимом записи, buf.flip() ошибочен до канала. send (buf, новый InetSocketAddress («example.com», 80)); лайн или это бессмысленно только писать право ??? –
Нет режима чтения или режима записи. Flip просто переворачивает буфер, устанавливая положение на 0 и ограничивая старую позицию, как объясняет javadoc. – Kayaman