自己的TCPServer问题

时间:2010-09-08 07:04:33

标签: c# tcp telnet

我写了一个TCP服务器。然后我试图连接到我的服务器使用Telnet(telnet localhost 2200)。 问题:telnet写错文本 - 像这样:? ????? ...

static void Main(string[] args)
    {
        ASCIIEncoding encoding = new ASCIIEncoding();
        //UnicodeEncoding encoding = new UnicodeEncoding();
        Byte[] message = encoding.GetBytes("Я занят...");

        try
        {
            IPAddress localAddress = IPAddress.Parse("127.0.0.1");
            TcpListener listener = new TcpListener(localAddress,2200);

            listener.Start(1);

            while (true)
            {
                Console.WriteLine("Сервер ожидает {0}", listener.LocalEndpoint);
                TcpClient client = listener.AcceptTcpClient();

                NetworkStream io = client.GetStream();
                Console.WriteLine("Принято соединение от {0}", client.Client.RemoteEndPoint);

                Console.WriteLine("Отправляем сообщение...");
                io.Write(message,0,message.Length);

                Console.WriteLine("Закрытие соединения");
                client.Close();
            }
        }
        catch (Exception e)
        {
            Console.WriteLine("Произошла ошибка {0}", e.Message);
        }
    }

关于俄语的文字。如果是英文文本,那就OK。 有什么问题,可能是代码页?谢谢,抱歉我的英语不好。

2 个答案:

答案 0 :(得分:2)

ASCIIEncoding不会与俄罗斯合作。使用UTF8Encoding或UTF32Encoding(我不确定哪一个适用于俄语)。

答案 1 :(得分:0)

也许netcat可以提供更好的结果。与telnet相比,它对返回数据的解释更少。