информационная безопасность
без паники и всерьез
 подробно о проекте
Все любят медПортрет посетителяSpanning Tree Protocol: недокументированное применение
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Вредоносный релиз LiteLLM 
 Мощные индийские ключи 
 Срочные патчи для критических уязвимостей... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[Java] ServerSocket затрахал... 23.08.01 13:48  Число просмотров: 1041
Автор: XR <eXtremal Research> Статус: The Elderman
<"чистая" ссылка>
>
> Выглядит все примерно так (в общем стандартно). В main()
> создается экземрляр NewServer и вызывается serveThem().
> ****************************************************
> public NewServer(){
> try {
> listenSocket = new ServerSocket(SERVER_PORT, backLog);
> // backLog у меня вообще ни на что не влияет, хоть 2,
> хоть 200,


> // все равно клиентов он присоединит около 50
> // ??вообще, очень бы хотелось посмотреть содержимое

Берешь исходники библиотек (раньше клались в JDK) или любой Java-декомпилятор и смотришь соответствующий кусок библиотек
в исходном коде ... но тут скорее всего все чисто ...

> этой
> //очереди
> } catch (IOException e) {
> System.exit(1);
> }
> }
>
> public void serveThem(){
> Socket clientSocket = null;
> try {
> while (keepRunning) {
> clientSocket = listenSocket.accept();
> Servicer newHandler = new Servicer(clientSocket);
> Thread newHandlerThread = new Thread(newHandler);
> newHandlerThread.start();
> }
> } catch (IOException e) {
> System.err.println("error: I/O");
> }
> }
> ********************************************************
> */

>
> Примерно 50-й клиент (и все остальные), пытаясь открыть
> сокет на сервере (Socket qSocket = new Socket(serverName,
> SERVER_PORT)),


Они все 50 должны иметь соединения с сервером или по дороге иногда закрываются ?
в смысле ты нигде .close() не забыл ?

> вылетает со следующим исключением
> java.net.SocketException: connect

Скорее всего проблема в подходе к границе максимального числа
открытых соединений для данной OS ....

BTW: OS какая кстати ?

Если Win9x то оно а вот если Sоlaris то это уже вопрос к JVM

PS: что там насчет netstat -a | wc -l ???
<programming>
[Java] ServerSocket затрахал... 20.08.01 19:20  
Автор: max133 Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Господа,

Надо написать на java обычное серверное приложение, которое слушает какой-то порт и каждого подключившегося клиента обрабатывает в отдельном потоке. Но проблема в следующем: класс ServerSocket подключает не больше 50 (в среднем) клиентов одновременно.
Надо гораздо больше, подскажите как это реализовать.

Заранее благодарю,
Макс.
[Java] ServerSocket затрахал... 21.08.01 10:58  
Автор: XR <eXtremal Research> Статус: The Elderman
Отредактировано 21.08.01 14:24  Количество правок: 1
<"чистая" ссылка>
> Господа,
>
> Надо написать на java обычное серверное приложение, которое
> слушает какой-то порт и каждого подключившегося клиента
> обрабатывает в отдельном потоке. Но проблема в следующем:
> класс ServerSocket подключает не больше 50 (в среднем)
> клиентов одновременно.

покажи код, иначе не совсем понятно, что ты делаешь....
....наверное что то типа

ServerSocket ss;
.........
Socket s = ss.accept();
... так ?

и где затык ? какие исключения ловятся ?


> Надо гораздо больше, подскажите как это реализовать.
>
> Заранее благодарю,
> Макс.
[Java] ServerSocket затрахал... 22.08.01 11:40  
Автор: max133 Статус: Незарегистрированный пользователь
<"чистая" ссылка>

Выглядит все примерно так (в общем стандартно). В main() создается экземрляр NewServer и вызывается serveThem().
****************************************************
public NewServer(){
try {
listenSocket = new ServerSocket(SERVER_PORT, backLog);
// backLog у меня вообще ни на что не влияет, хоть 2, хоть 200,
// все равно клиентов он присоединит около 50
// ??вообще, очень бы хотелось посмотреть содержимое этой
//очереди
} catch (IOException e) {
System.exit(1);
}
}

public void serveThem(){
Socket clientSocket = null;
try {
while (keepRunning) {
clientSocket = listenSocket.accept();
Servicer newHandler = new Servicer(clientSocket);
Thread newHandlerThread = new Thread(newHandler);
newHandlerThread.start();
}
} catch (IOException e) {
System.err.println("error: I/O");
}
}
*********************************************************

Примерно 50-й клиент (и все остальные), пытаясь открыть сокет на сервере (Socket qSocket = new Socket(serverName, SERVER_PORT)),
вылетает со следующим исключением
java.net.SocketException: connect
[Java] ServerSocket затрахал... 23.08.01 13:48  
Автор: XR <eXtremal Research> Статус: The Elderman
<"чистая" ссылка>
>
> Выглядит все примерно так (в общем стандартно). В main()
> создается экземрляр NewServer и вызывается serveThem().
> ****************************************************
> public NewServer(){
> try {
> listenSocket = new ServerSocket(SERVER_PORT, backLog);
> // backLog у меня вообще ни на что не влияет, хоть 2,
> хоть 200,


> // все равно клиентов он присоединит около 50
> // ??вообще, очень бы хотелось посмотреть содержимое

Берешь исходники библиотек (раньше клались в JDK) или любой Java-декомпилятор и смотришь соответствующий кусок библиотек
в исходном коде ... но тут скорее всего все чисто ...

> этой
> //очереди
> } catch (IOException e) {
> System.exit(1);
> }
> }
>
> public void serveThem(){
> Socket clientSocket = null;
> try {
> while (keepRunning) {
> clientSocket = listenSocket.accept();
> Servicer newHandler = new Servicer(clientSocket);
> Thread newHandlerThread = new Thread(newHandler);
> newHandlerThread.start();
> }
> } catch (IOException e) {
> System.err.println("error: I/O");
> }
> }
> ********************************************************
> */

>
> Примерно 50-й клиент (и все остальные), пытаясь открыть
> сокет на сервере (Socket qSocket = new Socket(serverName,
> SERVER_PORT)),


Они все 50 должны иметь соединения с сервером или по дороге иногда закрываются ?
в смысле ты нигде .close() не забыл ?

> вылетает со следующим исключением
> java.net.SocketException: connect

Скорее всего проблема в подходе к границе максимального числа
открытых соединений для данной OS ....

BTW: OS какая кстати ?

Если Win9x то оно а вот если Sоlaris то это уже вопрос к JVM

PS: что там насчет netstat -a | wc -l ???
1





Рейтинг@Mail.ru


  Copyright © 2001-2026 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach