Создать мини-библиотеку: TCP сокеты, чтение и запись пакетов
Задача
Сделать библиотеку на С# для работы с TCP.
Необходимые функции:
1) Создание подключения.
2) Запись TCP пакетов:
2.1) Простые типы данных:
writeInt(int i); writeShort(short s); writeByte(byte b); writeLong(long l); writeFloat(float f); writeDouble(double d);
2.2) Сложные типы данных:
2.2.1) writeByteArr(byte[] b);
- Сначала записывается длина массива (writeInt), а затем уже идёт сам массив.
2.2.2) writeString(String s);
- Сначала строка конвертируется в byte array (UTF-8), а затем отправляется как массив (writeByteArr).
3) Сделать функции для чтения тех же самых типов данных. В названии функции вместо write должно стоять read. Например, readString();
4) Строение пакетов:
Первые 2 байта генерируются автоматически. В них записывается длина пакета (включая эти первые 2 байта).
Последующие байты занимают данные.
5) Слушатель пакетов должен запускаться в отдельном потоке.
Разъясняю. Т.е например я хочу отправить определённый пакет. Вот так будет выглядетьмоя функция:
void sendTestPacket()
{...
Видеть полную информацию и оставлять заявки могут только авторизованные пользователи.
Исполнитель по этому заданию выбран.
Заявок нет
Оставлять заявки могут только авторизованные пользователи.
Создать мини-библиотеку: TCP сокеты, чтение и запись пакетов
Реклама
Создать мини-библиотеку: TCP сокеты, чтение и запись пакетов
Сделать библиотеку на С# для работы с TCP.
Необходимые функции:
1) Создание подключения.
2) Запись TCP пакетов:
2.1) Простые типы данных:
writeInt(int i); writeShort(short s); writeByte(byte b); writeLong(long l); writeFloat(float f); writeDouble(double d);
2.2) Сложные типы данных:
2.2.1) writeByteArr(byte[] b);
- Сначала записывается длина массива (writeInt), а затем уже идёт сам массив.
2.2.2) writeString(String s);
- Сначала строка конвертируется в byte array (UTF-8), а затем отправляется как массив (writeByteArr).
3) Сделать функции для чтения тех же самых типов данных. В названии функции вместо write должно стоять read. Например, readString();
4) Строение пакетов:
Первые 2 байта генерируются автоматически. В них записывается длина пакета (включая эти первые 2 байта).
Последующие байты занимают данные.
5) Слушатель пакетов должен запускаться в отдельном потоке.
Разъясняю. Т.е например я хочу отправить определённый пакет. Вот так будет выглядетьмоя функция:
void sendTestPacket()
{...