static void Main(string[] args)
        {
            Console.WriteLine(getLocalIP());
            Console.ReadKey();
            int port = 1234;
            // Server s = new Server();
            //s.start(port);
            //  TestingAsynch test = new TestingAsynch();
            // test.start(port);
            packetCreator packer      = new packetCreator();
            packetReader  interpreter = new packetReader();
            chat_server   server      = new chat_server();

            server.start(port);
        }
Esempio n. 2
0
        void startSetion(Byte[] pac, TcpClient client)
        {
            int AssiningNum = 0;

            Console.WriteLine("start setion comand called");
            packetReader  reader  = new packetReader();
            packetCreator creator = new packetCreator();

            if (NumberToAssine == 0)
            {
                userCount  += 1;
                AssiningNum = userCount;
            }
            else
            {
                AssiningNum    = NumberToAssine;
                NumberToAssine = 0;
            }

            users.Add(AssiningNum, reader.ReadMessage(pac, reader.readHeader(pac)));
            userClient.Add(AssiningNum, client);
            foreach (KeyValuePair <int, String> kvp in users)
            {
                Console.WriteLine("key = {0}, value ={1}", kvp.Key, kvp.Value);
            }
            foreach (KeyValuePair <int, TcpClient> kvp in userClient)
            {
                //writes the client ID and IPaddress
                Console.WriteLine("key = {0}, value ={1}", kvp.Key, ((IPEndPoint)kvp.Value.Client.RemoteEndPoint).Address.ToString());
            }
            Byte[]        newUserPac = creator.createPacet(AssiningNum, 0, users[AssiningNum]);
            NetworkStream stream     = client.GetStream();

            stream.Write(newUserPac, 0, newUserPac.Length);
            stream.Flush();
            Send(newUserPac);
            foreach (KeyValuePair <int, string> kvp in users)
            {
                if (kvp.Key != userCount)
                {
                    newUserPac = creator.createPacet(kvp.Key, 0, kvp.Value);
                    stream.Write(newUserPac);
                    stream.Flush();
                }
            }
        }