Member 12638643 Ответов: 1

Не мог бы кто-нибудь помочь мне с каким-нибудь кодом?


импорт java. net. Socket;
импорт java. io. BufferedInputStream;
импорт java. io. BufferedOutputStream;
импорт Java.Ио.Исключение IOException;

/**
* ChatConnection реализует соединение между сервером чата и
* один чат-клиент. Соединение будет выполняться как отдельный поток.
*/
публичный класс ChatConnection расширяет поток{

/**
* Сокет, на котором будет прослушиваться это соединение
*/
/**
* Сервер, с которым связано это соединение.
*/
Сервер ChatServer;
/**
* Выходной поток, который будет использоваться для записи сообщений нашему клиенту
*/
BufferedOutputStream out;
/**
* Входной поток для чтения и получения сообщений от нашего клиента
*/
BufferedInputStream in;

/**
* Создайте новое соединение чата. Сокет и сервер инициализируются
* @param S сокет, на котором это соединение будет прослушиваться
* @param svr сервер, с которым связано это соединение
*/
public ChatConnection(Socket s, ChatServer svr) {
гнездо = з;
сервер - = СВР;
}

/**
* Переопределите метод run () потока. Этот метод будет считывать входные данные из
* выходите из клиента и транслируйте этот ввод всем клиентам этого чат-сервера.
* Все выходные данные транслируются с помощью MultiOutputStream, который сервер
* поддерживает.
*/
общественного недействительными Run() {
инт numBytesRead;
byte[] buf = новый байт[256];
пробовать {
// Получить входной поток из нашего сокета
/**
* Введите свой код здесь
*/
// Получить выходной поток из нашего сокета
/**
* Введите свой код здесь
*/
// Добавьте наш выходной поток в MultiOutputStream сервера
сервер.addOutputStream(из);
Системы.из.код println("новый ChatConnection сейчас читаете...");
// Цикл для чтения из входного потока
while ((numBytesRead = in. read(buf, 0, buf. length)) > -1) {
Системы.из.печати("трансляция:" + новую строку(буфер buf,0,numBytesRead));
// транслируйте все, что мы получаем
server. broadcast(buf,numBytesRead);
}
} catch (IOException e) {
} наконец {
// Связь с нашим клиентом была закрыта, так что
// нам нужно удалить наш выходной поток с сервера.
// MultiOutputStream, а также закрыть наш сокет.
пробовать {
if (out != null) {
сервер.removeOutputStream(из);
}
if (socket != null) {
// Закройте розетку
/**
* Введите свой код здесь
*/
}
} catch (IOException e) {}
}
}
}

Что я уже пробовал:

Я перепробовал все, и, кажется, ничего не работает для меня, у меня есть менее 12 часов, чтобы закончить это.

Patrice T

Помочь тебе в чем ?
В чем проблема ?
Что должен делать код ?

1 Ответов

Рейтинг:
0

OriginalGriff

То, что вы опубликовали, - это фреймворк, который, по-видимому, предоставил ваш наставник-он полон полезных битов, таких как:

// Get the input stream from our socket
/**
* Enter your code Here 
*/
которые точно говорят вам, что делать и где это делать.
Это ваше домашнее задание: вы должны обдумать его и материал, охватываемый вашим курсом, и применить одно к другому.
Пока вы этого не сделаете, мы ничем не сможем вам помочь: мы здесь не для того, чтобы делать вашу домашнюю работу: она задана не просто так. Она существует для того, чтобы вы думали о том, что вам сказали, и пытались понять это. Он также существует для того, чтобы ваш наставник мог определить области, в которых вы слабы, и сосредоточить больше внимания на корректирующих действиях.

Попробуйте сами, возможно, вы обнаружите, что это не так сложно, как вы думаете!

Если вы столкнетесь с конкретной проблемой, то, пожалуйста, спросите об этом, и мы сделаем все возможное, чтобы помочь. Но мы не собираемся делать все это для вас!

[править]опечатка[/правка]