интерфейс: https://github.com/LosevArtyom/VKanave/tree/master/Assets
- Отправка и принятие данных
- из NetworkStream читаются данные размером в NetMessage.BUFFER_SIZE. Далее данные добавляются в массив. После этого они десериализируется в дочерний объект NetMessage
- Бинарная сериализация объектов
- Объект NetMessage хранит массив байт (_buffer), в который записывается информация о сетевом пакете. Например, для записи числа используется метод Write(Int32), который используется Write(Byte[])
protected void Write(byte[] bytes) { int size = bytes.Length; Resize(size); for (int i = 0; i < bytes.Length; i++) { _buffer[_position + i] = bytes[i]; } _position += bytes.Length; }
- MVVM
- Anti SQL Injection
- Регистрация и авторизация
- Настройка личного профиля
- Изменение отображаемого имени
- Отправка и получения сообщений
- Флаги сообщений, которые меняются в реальном времени
- Удаление сообщений
- Показывает прочитали сообщение или нет в реальном времени
- Удобный просмотр полных логов
- Можно отключить нежелаемые логи здесь
dotnet publish -c release -r ubuntu.20.04-x64
dotnet publish -c release -f:net8.0-android
Note
Установка на Ubuntu.20.04-x64
Устанавливаем mysql-server
sudo apt install mysql-server
Устанавливаем и настраиваем apache и phpmyadmin. Открываем порты и выдаём права доступа программе.
sudo apt install vsftpd
sudo ufw allow 20,21,990/tcp
sudo ufw allow 40000:50000/tcp
sudo ufw enable
sudo chmod 777 VKanave
Запускаем (с использованием мультиплексора)
tmux new -s vkanave
./VKanave