singlepost

Java сервер. Помогите построить код для нескольких сокетов << На главную или назад  

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

Представляю я его так: Клиент подсоединяется к главному порту, например 80, сервер какбе регистрирует его отсылая, сгенерированный им, уникальный порт. А потом раскидывает какие-то данные по всем портам, к которым подключены клиенты (думаю тут это делает цикл “for”). Вот сервер на данный момент у меня выглядит так:

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

class Server
{
private static Server server;
ServerSocket socket;
Socket incoming;
BufferedReader readerIn;
PrintStream printOut;

public static void main(String[] args)
{
int port = 80;

try
{
port = Integer.parseInt(args[0]);
}
catch (ArrayIndexOutOfBoundsException e)
{

}

server = new Server(port);
}

private Server(int port)
{
System.out.println("Whait connect...");
try
{
socket = new ServerSocket(port);
incoming = socket.accept();
System.out.println("In server connected! \n");
readerIn = new BufferedReader(new InputStreamReader(incoming.getInputStream()));
printOut = new PrintStream(incoming.getOutputStream());
boolean done = false;
while (!done)
{
String str = readerIn.readLine();
if (str == null)
{
done = true;
}
else
{
out("Client: " + str);
if(str.trim().equals("EXIT"))
{
done = true;
}
}
//incoming.close();
}
}
catch (Exception e)
{
System.out.println(e);
}
}

private void out(String str)
{
System.out.println(str);

printOut.println("I registration you \n");
System.out.println("You say: I registration you \n");
}

}

394-294 – кто хочет помочь мне в режиме онлайн – пишите.

21 ответов в теме “Java сервер. Помогите построить код для нескольких сокетов”

  1. 2
    Константин Конашенков ответил:

    один клиент 2 коннетка

  2. 1
    Константин Конашенков ответил:

    Сервер по определению должен быть многонитиевым

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.