Beispiel #1
0
 public void SendBuffer(byte[] buffer)
 {
     ClientSock.Send(BitConverter.GetBytes(buffer.Length));
     ClientSock.Send(buffer);
 }
Beispiel #2
0
            private void ServStart()
            {
                Socket ClientSock;
                string data;

                byte[] cldata = new byte[1024];
                Listener = new TcpListener(LocalPort);
                Listener.Start();
                Console.WriteLine("Waiting connections [" + Convert.ToString(LocalPort) + "]...");
                try
                {
                    ClientSock = Listener.AcceptSocket();
                }
                catch
                {
                    ServThread.Abort();
                    return;
                }
                int i = 0;

                if (ClientSock.Connected)
                {
                    while (true)
                    {
                        try
                        {
                            i = ClientSock.Receive(cldata);
                        }
                        catch
                        {
                        }

                        try
                        {
                            if (i > 0)
                            {
                                data = Encoding.ASCII.GetString(cldata).Trim();
                                Console.WriteLine("<" + data);
                                if (data == "CLOSE")
                                {
                                    ClientSock.Send(Encoding.ASCII.GetBytes("Closing the server..."));
                                    ClientSock.Close();
                                    Listener.Stop();
                                    Console.WriteLine("Server closed. Reason: client wish! Type EXIT to quit the application.");
                                    ServThread.Abort();
                                    return;
                                }
                                else
                                {
                                    ClientSock.Send(Encoding.ASCII.GetBytes("Your data: " + data));
                                }
                            }
                        }
                        catch
                        {
                            ClientSock.Close();
                            Listener.Stop();
                            Console.WriteLine("Server closing. Reason: client offline. Type EXIT to quit the application.");
                            ServThread.Abort();
                        }
                    }
                }
            }