2011-11-27 50 views
0

我可以在StreamReader套接字C#上收到一个int吗?我可以在StreamReader套接字C#上收到一个int吗?

我开发了一个java数据应用程序客户端通过套接字发送int到C#中的应用程序服务器,但我不知道我怎么能收到一个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 
+1

题外话,但你应该使用'与是一次性的('Stream','StreamReader','StreamWriter') –

回答

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 
+0

类型using'块谢谢......这是工作。 – FredVaz

相关问题