41 import java.nio.ByteBuffer;
51 private final StringBuilder buffer =
new StringBuilder();
53 private boolean once =
true;
54 private static final String NEWLINE =
"\n";
57 this.chatServer = chatServer;
70 client.writeStringMessage(
"Name: ");
84 public void onData(Client client, ByteBuffer buffer,
int bytes) {
87 name = this.buffer.append(
new String(buffer.array(), 0, bytes)).toString();
88 if (name.contains(NEWLINE)) {
89 onUserNameRead(client, name);
101 private void onUserNameRead(Client client, String name) {
102 String[] strings = name.split(NEWLINE, 2);
103 client.setUserName(strings[0].trim());
104 sendRemainingParts(client, strings);
105 client.setReader(
new ClientReader(chatServer,
new MessageReader(chatServer)));
106 client.writeStringMessage(
"Welcome " + client.getUserName() +
"\n");
115 private void sendRemainingParts(Client client, String[] strings) {
116 for (
int i = 1; i < strings.length; ++i) {
117 client.appendMessage(strings[i]);