Почему мой ReceivedBufferSize огромен? До 65535 байт - PullRequest
0 голосов
/ 15 ноября 2018

Итак, я играю с протоколом Tcp в C # и решил, что подключусь к своему серверу.Когда я подключаюсь к своему серверу, он уведомляет меня просто отлично.но затем я проверяю ReceivedBufferSize, и это receivedBuffer={byte[65536]}

Когда в действительности он возвращает только несколько байтов.

Почему это происходит?Отправка этого назад моему клиенту также ничего не делает, поэтому я удалил эту часть.Я подумал, что это потому, что пакет такой большой.

Эта часть прямо здесь

byte[] receivedBuffer = new byte[client.ReceiveBufferSize];

возвращает receivedBuffer={byte[65536]}

public partial class MainWindow : Window
{
    public static IPAddress remoteAddress = IPAddress.Parse("127.0.0.1");
    public TcpListener remoteServer = new TcpListener(remoteAddress, 7777);
    public TcpClient client = default(TcpClient);

    public MainWindow()
    {
        InitializeComponent();
    }

    private void BtnListen_OnClick(object sender, RoutedEventArgs e)
    {
        if (StartServer())
        {
            client = remoteServer.AcceptTcpClient();
            MessageBox.Show("Connected");
            byte[] receivedBuffer = new byte[client.ReceiveBufferSize];

            NetworkStream clientStream = client.GetStream();

            while (client.Connected)
            {
                if (client.Connected)
                {
                    if (client.ReceiveBufferSize > 0)
                    {
                        receivedBuffer = new byte[100];
                        clientStream.Read(receivedBuffer, 0, receivedBuffer.Length);
                    }
                }
            }
        }
    }

    private bool StartServer()
    {
        try
        {
            remoteServer.Start();
            MessageBox.Show("Server Started...");
            return true;
        }
        catch (Exception exception)
        {
            MessageBox.Show(exception.ToString());
            throw;
        }
    }
}

Как вы можете видеть здесь, это только15 байтов enter image description here

...