как обрабатывать полученные TCP-пакеты при программировании сокетов C# - PullRequest
0 голосов
/ 12 февраля 2020

У меня есть текстовый файл размером 150 КБ. и я хочу отправить его через программирование сокетов и пользовательским способом:

Я хочу отправить первые 136160 байтов через порт x и 13840 байтов через другой порт (порт y).

На в пункт назначения он также получает первые 136160 байт, но отбрасывает следующие 13840 байт.

На самом деле, я хочу, чтобы этот пакет отбрасывался как dynamici c, поэтому для каждого В файле мы можем индивидуально указать, сколько байтов должно быть отброшено.

У меня есть часть кода отправителя, и я действительно нуждаюсь в кодах в части получателя.

Заранее спасибо за ваши ответы и помощь

вот нормальные коды получателя, которые я использую:

           public void Listen(){



        Socket SoListen = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

        IPEndPoint IPE = new IPEndPoint(IPAddress.Any, int.Parse(txtPort.Text));

        SoListen.Bind(IPE);

        SoListen.Listen(2);

        Socket CGetFile = SoListen.Accept();



        byte[] bfile = new byte[1024 * 1000000];

        while (true)

        {

            int r = CGetFile.Receive(bfile);

            if (r > 0)

            {

                this.Invoke(new Action(() =>

                {

                    lblStatus.Text = "recieving";

                    SaveFileDialog SD = new SaveFileDialog();

                    if (SD.ShowDialog() == DialogResult.OK)

                    {

                        FileStream fs = new FileStream(SD.FileName, FileMode.Create);

                        fs.Write(bfile, 0, r);

                        fs.Flush();

                        lblStatus.Text = "recieved";



                    }



                }));

                Thread.CurrentThread.Abort();

            }

        }





    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...