diff options
Diffstat (limited to 'TokensSample')
-rw-r--r-- | TokensSample/Client.cs | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/TokensSample/Client.cs b/TokensSample/Client.cs index 933cab7..1061986 100644 --- a/TokensSample/Client.cs +++ b/TokensSample/Client.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Net.Sockets; +using System.Threading; using IrcTokens; namespace TokensSample @@ -23,6 +24,7 @@ namespace TokensSample public void Start() { _socket.Connect("127.0.0.1", 6667); + while (!_socket.Connected) Thread.Sleep(1000); Send(new Line {Command = "NICK", Params = new List<string> {"tokensbot"}}); Send(new Line {Command = "USER", Params = new List<string> {"tokensbot", "0", "*", "real name"}}); @@ -35,11 +37,12 @@ namespace TokensSample { Console.WriteLine("! disconnected"); _socket.Shutdown(SocketShutdown.Both); + _socket.Close(); break; } - var lines = _decoder.Push(_bytes); - + var lines = _decoder.Push(_bytes, bytesReceived); + foreach (var line in lines) { Console.WriteLine($"< {line.Format()}"); @@ -53,7 +56,10 @@ namespace TokensSample Send(new Line {Command = "JOIN", Params = new List<string> {"#test"}}); break; case "PRIVMSG": - Send(new Line {Command = "PRIVMSG", Params = new List<string> {line.Params[0], "hello there"}}); + Send(new Line + { + Command = "PRIVMSG", Params = new List<string> {line.Params[0], "hello there"} + }); break; } } @@ -65,7 +71,7 @@ namespace TokensSample Console.WriteLine($"> {line.Format()}"); _encoder.Push(line); while (_encoder.PendingBytes.Length > 0) - _encoder.Pop(_socket.Send(_encoder.PendingBytes)); + _encoder.Pop(_socket.Send(_encoder.PendingBytes, SocketFlags.None)); } } } |