Ejemplo n.º 1
0
        private void EditFile(object sender, RoutedEventArgs e)
        {
            string         nameFile       = fileList.SelectedItem.ToString();
            ParametrsClass parametrsClass = new ParametrsClass();

            parametrsClass.fileName  = nameFile;
            parametrsClass.operation = "readFileForEdit";
            parametrsClass.userName  = userName;

            sendMessageToServer(JsonEncode(parametrsClass));
        }
Ejemplo n.º 2
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            string login = LoginBox.Text;
            string pass  = PassBox.Password;

            ParametrsClass parametrsClass = new ParametrsClass();

            parametrsClass.userName  = login;
            parametrsClass.userPass  = pass;
            parametrsClass.operation = "Connect";

            sendMessageToServer(JsonEncode(parametrsClass));
        }
Ejemplo n.º 3
0
        private void ConnectClick(object sender, RoutedEventArgs e)
        {
            string login = LoginBox.Text;
            string pass  = PassBox.Password;

            ParametrsClass parametrsClass = new ParametrsClass
            {
                userName  = login,
                userPass  = pass,
                operation = "ConnectAdmin"
            };

            sendMessageToServer(JsonEncode(parametrsClass));
        }
Ejemplo n.º 4
0
        public void sendMessageToServer(string message)
        {
            var tcpEndPoint = new IPEndPoint(IPAddress.Parse(ip), port);
            var tcpSocket   = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

            var data = Encoding.UTF8.GetBytes(message);

            tcpSocket.Connect(tcpEndPoint);
            tcpSocket.Send(data);

            var buffer = new byte[256];
            var size   = 0;
            var answer = new StringBuilder();

            do
            {
                size = tcpSocket.Receive(buffer);
                answer.Append(Encoding.UTF8.GetString(buffer, 0, size));
            }while (tcpSocket.Available > 0);

            ParametrsClass receivedData = JsonConvert.DeserializeObject <ParametrsClass>(answer.ToString());

            switch (receivedData.operation)
            {
            case "authentication":
                if (Convert.ToBoolean(receivedData.authentication))
                {
                    hideUILogin(true);
                    userName = receivedData.userName;
                }
                else
                {
                    MessageBox.Show("Неправильный логин или пароль или нет прав");
                }
                break;
            }
        }
Ejemplo n.º 5
0
        public void sendMessageToServer(string message)
        {
            var tcpEndPoint = new IPEndPoint(IPAddress.Parse(ip), port);
            var tcpSocket   = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

            var data = Encoding.UTF8.GetBytes(message);

            tcpSocket.Connect(tcpEndPoint);
            tcpSocket.Send(data);

            var buffer = new byte[256];
            var size   = 0;
            var answer = new StringBuilder();

            do
            {
                size = tcpSocket.Receive(buffer);
                answer.Append(Encoding.UTF8.GetString(buffer, 0, size));
            }while (tcpSocket.Available > 0);

            string[]       answerFromServer = answer.ToString().Split('/');
            ParametrsClass receivedData     = JsonConvert.DeserializeObject <ParametrsClass>(answer.ToString());

            switch (receivedData.operation)
            {
            case "authentication":
                if (Convert.ToBoolean(receivedData.authentication))
                {
                    hideUILogin(true);
                    userName = receivedData.userName;
                }
                else
                {
                    MessageBox.Show("Неправильный логин или пароль");
                }
                break;

            case "bodyFile":
                ReadFileForm readFileForm = new ReadFileForm(receivedData.fileBody);
                readFileForm.Show();
                break;

            case "fileDeleted":

                break;

            case "bodyEditFile":
                EditFileForm editFileFrom = new EditFileForm(receivedData.fileBody);
                editFileFrom.mainWindow = this;
                editFileFrom.nameFile   = receivedData.fileName;
                editFileFrom.Show();
                break;

            case "filesList":

                break;

            case "userAdded":
                if (Convert.ToBoolean(receivedData) == true)
                {
                    MessageBox.Show("Пользователь успешно создан");
                }
                break;

            case "usersList":

                break;

            default:
                break;
            }
            tcpSocket.Shutdown(SocketShutdown.Both);
            tcpSocket.Close();
        }
Ejemplo n.º 6
0
 //Метод для создания запроса json
 public string JsonEncode(ParametrsClass parametrsClass)
 {
     return(JsonConvert.SerializeObject(parametrsClass));
 }
Ejemplo n.º 7
0
        static void Main(string[] args)
        {
            const string ip   = "127.0.0.1";
            const int    port = 8080;

            var tcpEndPoint = new IPEndPoint(IPAddress.Parse(ip), port);
            var tcpSocket   = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

            tcpSocket.Bind(tcpEndPoint);
            tcpSocket.Listen(15);

            while (true)
            {
                var listener = tcpSocket.Accept();
                var buffer   = new byte[256];
                var size     = 0;
                var data     = new StringBuilder();

                do
                {
                    size = listener.Receive(buffer);
                    data.Append(Encoding.UTF8.GetString(buffer, 0, size));
                }while (listener.Available > 0);

                ParametrsClass receivedData = JsonConvert.DeserializeObject <ParametrsClass>(data.ToString());

                Console.WriteLine(DateTime.Now.ToString() + " " + "User - " + receivedData.userName +
                                  ", did operation - " + receivedData.operation);

                ParametrsClass answerObject = new ParametrsClass();

                switch (receivedData.operation)
                {
                case "Connect":
                    answerObject.authentication = Users.AuthUser(receivedData.userName, receivedData.userPass).ToString();
                    answerObject.operation      = "authentication";
                    answerObject.userName       = receivedData.userName;
                    break;

                case "readFile":
                    answerObject.operation = "bodyFile";
                    answerObject.fileBody  = Documents.GetContentFromFile("texts/" + receivedData.fileName);
                    break;

                case "readFileForEdit":
                    answerObject.operation = "bodyEditFile";
                    answerObject.fileBody  = Documents.GetContentFromFile("texts/" + receivedData.fileName);
                    answerObject.userName  = receivedData.userName;
                    break;

                case "loadFiles":

                    break;

                case "deleteFile":

                    break;

                case "addOrEditFile":
                    Documents.WriteContentToFile("texts/" + receivedData.fileName + ".txt", receivedData.fileBody);
                    break;

                case "addUser":
                    string login    = receivedData.answer.Split('/')[0].Split(':')[1];
                    string password = receivedData.answer.Split('/')[1].Split(':')[1];
                    Users.AddNewUser(login, password);
                    answerObject.answer = "True";
                    break;

                case "checkUsers":

                    break;

                default:

                    break;
                }

                listener.Send(Encoding.UTF8.GetBytes(JsonEncode(answerObject)));

                listener.Shutdown(SocketShutdown.Both);
                listener.Close();
            }
        }