From bbd72aeabf72df8add3c098b8d0c3db673469fa5 Mon Sep 17 00:00:00 2001 From: Dor Bivas Date: Sat, 22 Feb 2014 19:59:47 +0200 Subject: Client start-up sequence * fixing connection prob --- src/Client/ChatClient.java | 15 ++++++++++++--- src/Client/ChatClientReader.java | 6 +++--- src/Client/ChatClientWriter.java | 4 ++-- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/Client/ChatClient.java b/src/Client/ChatClient.java index 679d51c..6499b75 100644 --- a/src/Client/ChatClient.java +++ b/src/Client/ChatClient.java @@ -71,6 +71,11 @@ public class ChatClient writer.sendLine(line); } + private void earlySendline(String line) + { + writer.sendLine(line); + } + /** */ public void PRIVMSG (String line) { @@ -95,14 +100,18 @@ public class ChatClient public void fixNickCollision() { String newNick = getNick() + new Integer((int) (Math.random()*1000)).toString(); - runSendline("NICK " + newNick); + earlySendline("NICK " + newNick); + } + + public void startup() { + earlySendline("NICK " + this.getNick()); + earlySendline("USER " + this.getNick() + " 0 * :" + this.getRealname()); } /** Initial setup with the server once the nick was set up*/ - public void startup() + public void joinChannel() { // 0: mode (nothing special). *: unused in RFC 2812, server name in RFC 1459 - runSendline("USER " + this.getNick() + " 0 * :" + this.getRealname()); runSendline("JOIN " + this.CHANNEL); this.setConnected(); // FIXME: Not sure yet if client is connected. } diff --git a/src/Client/ChatClientReader.java b/src/Client/ChatClientReader.java index 4e24cfe..02dd2aa 100644 --- a/src/Client/ChatClientReader.java +++ b/src/Client/ChatClientReader.java @@ -45,8 +45,8 @@ public class ChatClientReader extends Thread break; } - System.out.println(""); - System.out.println(line); + //System.out.println(""); + System.out.println("Got line: [" + line + "]"); ParsedLine parsed = new ParsedLine(line); @@ -63,7 +63,7 @@ public class ChatClientReader extends Thread else if (!client.getConnected()) { if (parsed.get("command").compareTo("001") == 0) - client.startup(); + client.joinChannel(); else if (parsed.get("command").compareTo("433") == 0) { System.err.println("fixing nick collision"); diff --git a/src/Client/ChatClientWriter.java b/src/Client/ChatClientWriter.java index e61bb93..924e683 100644 --- a/src/Client/ChatClientWriter.java +++ b/src/Client/ChatClientWriter.java @@ -59,8 +59,8 @@ public class ChatClientWriter extends Thread outTemp = new OutputStreamWriter(this.soc.getOutputStream()); this.output = new BufferedWriter(outTemp); - - println("NICK " + client.getNick()); + + client.startup(); while (true) { -- cgit v1.2.3