C # Socket передать / отправить учетные данные - PullRequest
0 голосов
/ 23 мая 2019

Пытаясь прочитать данные из сокета на общедоступном сервере APRS, я могу подключиться и получить некоторые данные, но не знаю, как передать имя пользователя и пароль. Первая работа с сокетами на любом языке.

Я могу подключиться к сокету и получить некоторые данные обратно, но он не показывает все ожидаемое. Менеджер сервера сообщил мне, что мне нужно передать / отправить имя пользователя и пароль, прежде чем я смогу получить доступ к полному каналу данных.

Я не уверен, как передать эти учетные данные с помощью C #, сделал несколько поисков в Интернете, но, похоже, не могу найти никаких примеров того, как это сделать. Выложили код, который используется для этого. Я не могу найти метод для объекта «System.Net.Sockets.TcpClient clientSocket», который позволил бы мне передать учетные данные.

Любое руководство по этому вопросу будет с благодарностью.

System.Net.Sockets.TcpClient clientSocket = new System.Net.Sockets.TcpClient ();

    private void Form1_Load(object sender, EventArgs e)
    {
        msg("Client Started");
        clientSocket.Connect("rotate.aprs2.net", 10152);
        txbOutput1.Text = "Client Socket Program - Server Connected ...";
    }

    private void ReadSocketData()
    {
        NetworkStream serverStream = clientSocket.GetStream();
        byte[] outStream = System.Text.Encoding.ASCII.GetBytes(txbOutput2.Text + "$");
        serverStream.Write(outStream, 0, outStream.Length);
        serverStream.Flush();

        byte[] inStream = new byte[100250];
        serverStream.Read(inStream, 0, (int)clientSocket.ReceiveBufferSize);
        string returndata = System.Text.Encoding.ASCII.GetString(inStream);
        msg(returndata);
        txbOutput2.Text = "";
        txbOutput2.Focus();
    }

    public void msg(string mesg)
    {
        txbOutput1.Text = txbOutput1.Text + Environment.NewLine + " >> " + mesg;
    }

    private void btnReadSocketData_Click(object sender, EventArgs e)
    {
        try
        {
            ReadSocketData();   
        }
        catch (Exception ex)
        {
            txbOutput2.Text = ex.Message;
        }
    }

Это единственный вывод, который я получаю, и, похоже, сокет закрывается.

aprsc 2.1.4-g5ed9aa1

aprsc 2.1.4-g5ed9aa1 22 мая 2019 18:53:07 GMT T2NANJING 103.254.210.225:10152

Насколько я понимаю, я должен получить другие данные, как только смогу ввести учетные данные (имя пользователя и пароль)

...