Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Программирование / Programming (https://forum.zone-game.info/forumdisplay.php?f=98)
-   -   c# console (https://forum.zone-game.info/showthread.php?t=43269)

Boris2105 14.08.2018 18:14

c# console
 
Такой вопрос
В пакете идет логин и пароль через запятую : Kirito , 135635
Но длина нигде не записывается, как можно сделать так чтобы логин и пароль можно было сравнить например с бд?
Если отсчитать количество байт до логина то можно узнать где он начинается, но вот длина то у всех разная
https://pp.userapi.com/c850136/v8501...DDxWWDPba8.jpg

Zeratyl 14.08.2018 21:35

Re: c# console
 
Разбирайте пакет по байтам. Циклом идете по содержимому до запятой, все что перед ней - в одну переменную, все, что после - в другую. Потом их сравниваете с эталонным значением.

Boris2105 14.08.2018 21:44

Re: c# console
 
Цитата:

Сообщение от Zeratyl (Сообщение 432188)
Разбирайте пакет по байтам. Циклом идете по содержимому до запятой, все что перед ней - в одну переменную, все, что после - в другую. Потом их сравниваете с эталонным значением.

а можно примерно кодом?

PROGRAMMATOR 14.08.2018 23:27

Re: c# console
 
Прочитать статичное количество байт, например 100, обрезать всё, что после нуль-терминированной строки, разбить на две части.

var credentials = ReadString(100)
    .Trim('\0') // Или реализовать свой метод ReadNullTerminatedString
    .Split(',');
 
Log.Information("{@credentials}", credentials);
 
Code: C#

https://image.zone-game.info/images/.../14/SNIMOK.png

Boris2105 15.08.2018 11:15

Re: c# console
 
Цитата:

Сообщение от PROGRAMMATOR (Сообщение 432191)
Прочитать статичное количество байт, например 100, обрезать всё, что после нуль-терминированной строки, разбить на две части.

var credentials = ReadString(100)
    .Trim('\0') // Или реализовать свой метод ReadNullTerminatedString
    .Split(',');
 
Log.Information("{@credentials}", credentials);
 
Code: C#

https://image.zone-game.info/images/.../14/SNIMOK.png

пробую вот так сделать
 
string[] arrstring = data.Trim('\0').Split(',');
string strings = arrstring[0];
String strings2 = arrstring[1];
Console.WriteLine("Test:{0} : {1}", strings, strings2);
 
Code: C#
Пароль идеально выдает, а вот с логином проблема
Вместо Kirito пишет ito
Где я ошибся?


Текущее время: 10:31. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot