1. Гость, мы просим Вас ознакомиться с Правилами Форума и Отказом от ответственности!

Достать данные по TCP

Тема в разделе '.NET', создана пользователем Fituchini, 7 апр 2021.

  1. TopicStarter Overlay

    Fituchini Пользователи

    Сообщения:
    339
    Лайки:
    71
    Пол:
    Мужской
    Репутация:
    0
    Команда:
    PWAA
    Страна:
    Russian Federation Russian Federation
    Всем добра господа.
    Я знаю вас трюкачи, как вы тащите инфу по офсетам.
    Поясните пожалуйста как сделать. Никак не дойду сам до этого.

    Есть приложение на iPhone, это приложение пересылает данные лица по TCP по порту своему приложению iClone
    Через Wireshark глянул что передаётся c телефона на комп
    А с компа на телефон хз что он там отправляет, может то что подключен
    [​IMG]
    [​IMG]

    Но вот считать никак не могу
    PHP:
    static NetworkStream stream;
            static 
    TcpClient client;
            static 
    BinaryReader reader;
            static 
    BinaryWriter writer;
            private const 
    int port 999;
            private const 
    string server "192.168.0.23";
            static 
    void Main(string[] args)
            {
                
    ConStack();
            }
    static 
    void ConStack()
            {
                
    client = new TcpClient();

                
    client.Connect(serverport); //подключение клиента
                
    var stream client.GetStream(); // возвращает объект NetworkStream
                
    reader = new BinaryReader(streamEncoding.Unicodefalse);
                
    writer = new BinaryWriter(streamEncoding.Unicodetrue);

                
    //writer.Write("JawOpen"); //При попытке отослать любое сообщение, программа улетает в Exception

                // запускаем новый поток для получения данных
                
    Thread receiveThread = new Thread(new ThreadStart(ReceiveMessage));
                
    receiveThread.Start(); //старт потока
                
    Console.WriteLine("Start Thread");
            }
      static 
    void ReceiveMessage()
            {
                
    byte[] data = new byte[1065]; // буфер для получаемых данных
                
    StringBuilder builder = new StringBuilder();
                while (
    true)
                {
                    try
                    {
                        var 
    byt reader.Read(data0data.Length);
                        
    builder.Append(Encoding.Unicode.GetString(data0byt));
                        
    Console.WriteLine(builder.ToString());
                     
    //Я получаю пустоту
                    
    }
                    catch (
    Exception ex)
                    {
                        
    Console.WriteLine("Подключение прервано!\n{0}"ex.Message); 
                        
    Console.ReadLine();
                    }
                }
            }
    Подскажите пожалуйста как мне считывать данные правильно?

    Вложения:

    loko9988 нравится это.
  2. loko9988 B L A C K    L I S T Пользователи

    Сообщения:
    758
    Лайки:
    239
    Пол:
    Мужской
    Репутация:
    1
    я думаю тебе проще будет разобрать приложение в дебагере. в 90% там будет читаемый код ибо везде джава или шарп или того проще js
  3. alexdnepro Эксперт AngeliCore Пользователи Open Source Contributor White List

    Сообщения:
    754
    Лайки:
    1.313
    Пол:
    Мужской
    Репутация:
    6
    Я думаю некорректно пытаться вывести бинарный поток в консоль, как строку, как минимум при первом же 00 он будет считает, что это конец строки. По дампу похоже, что там все стандартно, заголовок (в котором по есть длина строки, за которой идет сама строка)
Черновик сохранён Черновик удалён
Similar Threads
  1. #define
    Ответов:
    9
    Просмотров:
    12.685
  2. maestro199
    Ответов:
    11
    Просмотров:
    2.871
  3. Junior
    Ответов:
    4
    Просмотров:
    1.298
  4. war20121
    Ответов:
    3
    Просмотров:
    3.728
  5. Vorobey
    Ответов:
    14
    Просмотров:
    3.681
Загрузка...

Поделиться этой страницей