【问题标题】:Can i recevied a int on StreamReader Sockets C#?我可以在 StreamReader Sockets C# 上收到一个 int 吗?
【发布时间】:2011-11-27 23:58:02
【问题描述】:

我可以在 StreamReader Sockets C# 上收到一个 int 吗?

我在 Java 数据中开发了一个应用程序客户端,通过套接字向 C# 中的应用程序服务器发送一个 int,但我不知道如何接收一个 int。因为如果我放一个 int mensagem = sr.ReadLine() 不起作用!

C#服务端应用代码:

    //Some code not include.

    public void Server()
    {

        Socket soc = listener.AcceptSocket();
        //Informa uma conecção
        //MessageBox.Show("Conectado: " + soc.RemoteEndPoint);

        try
        {
            Stream s = new NetworkStream(soc);
            StreamReader sr = new StreamReader(s);
            StreamWriter sw = new StreamWriter(s);
            sw.AutoFlush = true; // enable automatic flushing

            while (true)
            {
                string mensagem = sr.ReadLine(); //if i put int message not work why?
                comando(mensagem);
            }
            //s.Close();
        }
        catch (Exception e)
        {
            MessageBox.Show("Erro!" + e.Message);
        }
        //MessageBox.Show("Disconectado: " + soc.RemoteEndPoint);
        //soc.Close();

    } //Fim Função Server

【问题讨论】:

  • 与您的问题无关,但您应该使用带有一次性类型的 using 块(StreamStreamReaderStreamWriter

标签: c# sockets streamreader


【解决方案1】:

ReadLine 返回一个字符串。您可以使用 TryParse 来获取您的整数:

int fromClient;

if (!int.TryParse(mensagem, out fromClient))
{
   // error parsing as integer
}

// fromClient is either the parsed value or 0 if TryParse was false

【讨论】:

    猜你喜欢
    • 2014-08-28
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 2021-11-24
    • 1970-01-01
    • 2020-08-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多