Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DatagramSocket ограничения, windows XP Sun Java6 
V
    Опции темы
bilbobagginz
Дата 3.4.2008, 00:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: нет
Всего: 317



привет.
начнем с того, что я не java программер, поэтому пожалуйста не старайтесь его из меня сделать (прошу изначально отнестись к техническим, но не нужным ляпам снисходительно и сосредоточиться на моем вопросе)

есть приложение, которому нужно увеличить recv баффер.
написал следующий код:
Код

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

class TestDGSock {
    public static void main(String args[]){
        int size=128;
        int delta=128;
        int maxsize=8388608;
        for (size=delta;size<maxsize;size+=delta){
            DatagramSocket recvSock_;
            int bindport = 10000;
            int    recvBufSize = 0;
            try {
                recvSock_ = new DatagramSocket(bindport);
                recvSock_.setReceiveBufferSize(size);
                recvBufSize = recvSock_.getSendBufferSize();
            } catch (final SocketException e) {
                e.printStackTrace();
                return;
            }
            if (recvBufSize != size){
                System.out.println("Could NOT set RECVBUF size to "
                                    +size +
                                    ". Current size STILL is "
                                    +recvBufSize);
            } else {
                System.out.println(
                        "<ReceiverThread.ReceiverThread> RECVBUF new size=" 
                        + recvBufSize);
            }

            InputStreamReader isr = new InputStreamReader( System.in );
            BufferedReader stdin = new BufferedReader( isr );
            try {
            String input = stdin.readLine();
            }
            catch (final java.io.IOException e){
            System.out.println("bla");
            }
            recvSock_.close();
        }
    }
}


ессно я ожидал, что после некоторой максимальной величны я не смогу установить величину.
то что я получил (и как обычный пользователь, и как администратор)
было:
Код

E:\>java TestDGSock
Could NOT set RECVBUF size to 128. Current size STILL is 8192

Could NOT set RECVBUF size to 256. Current size STILL is 8192

Could NOT set RECVBUF size to 384. Current size STILL is 8192
<тут я прервал>

под линуксом всё выглядит нормально, т.е. функция работает, но ессно в какой-то момент "останавливается" и не разрешает увеличить.

Вопрос: есть ли решение этой проблеме ?

спасибо заранее!




--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Kangaroo
Дата 3.4.2008, 01:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

Репутация: 2
Всего: 104



Цитата(bilbobagginz @  3.4.2008,  00:55 Найти цитируемый пост)
recvSock_.setReceiveBufferSize(size);
                recvBufSize = recvSock_.getSendBufferSize();

Выглядит странно.
Может getReceiveBufferSize() ?


--------------------
Lost....
PM MAIL MSN   Вверх
Samotnik
Дата 3.4.2008, 01:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: нет
Всего: 191



bilbobagginz, 

Kangaroo,  в точку,  ведь по логике, тебе нужно получить размер  принятых, а не отправленных данных. Обьект даже называется   DatagramSocket recvSock_;

PM MAIL   Вверх
bilbobagginz
Дата 3.4.2008, 01:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: нет
Всего: 317



логично...тормознул я smile



--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
bilbobagginz
Дата 3.4.2008, 01:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: нет
Всего: 317



СПАСИБО!!!
дьявол autоcompletion в эклипсе.


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Работа с сетью | Следующая тема »


 




[ Время генерации скрипта: 0.0450 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.