Exemplo n.º 1
0
        public void StartAccepting()
        {
            Socket listenSocket  = null;
            var    builder       = new StringBuilder();
            var    bytesReceived = 0;
            var    lengthBuffer  = new byte[1];

            while (true)
            {
                listenSocket = ObjSocket.Accept();
                Console.Write("New Connection: ");

                bytesReceived = listenSocket.Receive(lengthBuffer);

                var buffer = new byte[lengthBuffer[0]];

                bytesReceived = listenSocket.Receive(buffer);

                builder.Clear();
                builder.Append(Encoding.ASCII.GetString(buffer), 0, bytesReceived);

                Console.WriteLine(builder);

                ClientList.Add(listenSocket, Encoding.ASCII.GetString(buffer));
                ThreadList.Add(listenSocket, new Thread(delegate() { Server.MessageHandler(this, listenSocket); }));

                ThreadList[listenSocket].Start();
            }
        }
Exemplo n.º 2
0
 public override void Disconnect()
 {
     Console.WriteLine("Disconnecting...");
     InnerThread.Abort();
     ObjSocket.Shutdown(SocketShutdown.Both);
     ObjSocket.Close();
 }
Exemplo n.º 3
0
 public void StartWorking()
 {
     try
     {
         ObjSocket.Listen(ClientCount);
         Console.WriteLine("Listening...");
         StartAccepting();
     }
     catch (Exception exception)
     {
         throw exception;
     }
 }
Exemplo n.º 4
0
 public override void SendMessage(string message)
 {
     try
     {
         ObjSocket.Send(new byte[1] {
             (byte)message.Length
         });
         ObjSocket.Send(Encoding.ASCII.GetBytes(message));
     }
     catch (Exception exception)
     {
         Console.WriteLine("Message send failed with message: {0}", exception.Message);
     }
 }
Exemplo n.º 5
0
        public override void ReceiveMessage()
        {
            var str    = new StringBuilder();
            var length = new byte[1];

            var bytesReceived = ObjSocket.Receive(length);
            var buffer        = new byte[length[0]];

            bytesReceived = ObjSocket.Receive(buffer);
            str.Clear();
            str.Append(Encoding.ASCII.GetString(buffer), 0, bytesReceived);
            Console.Write("{0}: ", str);

            bytesReceived = ObjSocket.Receive(length);
            buffer        = new byte[length[0]];

            bytesReceived = ObjSocket.Receive(buffer);
            str.Clear();
            str.Append(Encoding.ASCII.GetString(buffer), 0, bytesReceived);
            Console.WriteLine(str);
            Client.DrawSeparator();
        }
Exemplo n.º 6
0
        public override void Connect(string ipString, int port)
        {
            IPEndPoint destPoint = new IPEndPoint(IPAddress.Parse(ipString), port);

            try
            {
                ObjSocket.Connect(destPoint);
                ObjSocket.Send(new byte[1] {
                    (byte)NickName.Length
                });
                ObjSocket.Send(Encoding.ASCII.GetBytes(NickName));
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.Message);
            }
            finally
            {
                Console.WriteLine("Connection established");
                InnerThread = new Thread(new ThreadStart(MessageHandler));
                InnerThread.Start();
            }
        }
Exemplo n.º 7
0
 public override void StopWorking()
 {
     ObjSocket.Shutdown(SocketShutdown.Both);
     ObjSocket.Close();
 }