TcpListener(服务器接收)未收到正确的数据

时间:2019-07-01 19:23:49

标签: c# tcplistener

我创建的TCP服务器无法正常工作。它仅接收和发送字符串,但不能正确执行工作。

所以我有此NOS EXpos exe文件,上面有4个按钮,它将信息发送到此TCP接收器(服务器)。

我可以按自己的方式进行操作,但据推测我的方法是错误的,所以请告诉我我做错了什么。

我设法连接到服务器并显示了接收到的数据,但这也许就是为什么我看不到问题所在的原因。

private void Button1_Click(object sender, EventArgs e)
{
    TcpListener server = null;

    try
    {
        // TCP får port 12345.
        Int32 port = 12345;
        IPAddress localAddr = IPAddress.Parse("127.0.0.1");

        // Tcp server = new TcpListener(port);
        server = new TcpListener(localAddr, port);

        // Starta lyssna på klienter
        server.Start();

        // Buffer for reading data
        Byte[] bytes = new Byte[256];
        String data = null;

        // Börjar loop
        while (true)
        {

            MessageBox.Show("Väntar på anslutning... ");
            // Perform a blocking call to accept requests.
            // You could also user server.AcceptSocket() here.
            TcpClient client = server.AcceptTcpClient();
            MessageBox.Show("Ansluten!");


            data = null;

            NetworkStream stream = client.GetStream();

            int i;

            // Loop to receive all the data sent by the client.
            try
            {
                while ((i = stream.Read(bytes, 0, bytes.Length)) !=0)
                {
                    // Translate data bytes to a ASCII string.
                    data = System.Text.Encoding.ASCII.GetString(bytes, 0, i);


                    // Process the data sent by the client.
                    data = data.ToUpper();

                    byte[] msg = System.Text.Encoding.ASCII.GetBytes(data);

                    // Skicka tillbaks svar
                    stream.Write(msg, 0, msg.Length);
                    MessageBox.Show("Sent: Skickad", data);
                }

                // Stäng ner
                client.Close();
            }
            catch
            {
                MessageBox.Show("Klienten stängdes ned");
            }
    }
    }
    catch (SocketException)
    {

        MessageBox.Show("SocketException: {0}");
    }
    finally
    {
        // Sluta lyssna på nya klienter
        server.Stop();
    }
}

现在没有错误消息,只是整个main函数都是错误的,因为我知道这甚至无法正常工作。

0 个答案:

没有答案