2015-11-21 3 views
-1

вот исходный код, я не могу понять, что происходит. Когда я получаю данные с сервера записывается обратно в NetworkStream то он работает, но когда я пытаюсь отправить первых, прежде чем читать с сервера он не работает:C# и NetworkStream, отправка в порядке, но получение не работает

void BtnConnectClick(object sender, EventArgs e) 
{ 
    TcpClient clientSocket = null; 
    NetworkStream networkStream = null; 
    try{ 
     clientSocket = new TcpClient();   
     clientSocket.SendTimeout = 5000; 
     clientSocket.ReceiveTimeout = 5000; 
     clientSocket.Connect("192.168.0.13",7777); 

     networkStream = clientSocket.GetStream(); 

     const string strToAndroid = "hi from client"; 
     char[] carray = strToAndroid.ToCharArray(); 
     for (int i=0;i<carray.GetLength(0);i++) 
     { 
      networkStream.WriteByte((byte)carray[i]); 
     } 
     log("sent to Android = " + strToAndroid); 

     string strFromAndroid = ""; 
     int j=0; 
     while (j!=-1) 
     { 
      try 
      { 
       j = networkStream.ReadByte(); 
       if (j!=-1) 
        strFromAndroid += (char)j; 
      } 
      catch(Exception ex){ 
       break; 
      } 
     } 
     log("received from Android = " + strFromAndroid); 

     networkStream.Close(); 
     clientSocket.Close();    
    } 
    catch(Exception ex){ 
     log("002:" + ex.Message); 
     if (networkStream != null) 
      networkStream.Close(); 
     if (clientSocket != null) 
      clientSocket.Close(); 
    } 

} 
+0

какое исключение вы получаете? –

+0

, обратите внимание на использование 'using (networkStream)' и 'using (clientSocket)': компилятор позаботится о их закрытии, даже в случае исключения –

+0

Исключение (по-французски извините): Impossible de lire les données de la Связь с транспортом: Неотъемлемая связь с автомобилем и автомобильным транспортом. Адаптация к перевозке и транспортировке автомобилей. échoué car l'hôte de connexion n'a pas répondu. – dvxwifiscan

ответ

0

Это была проблема на стороне сервера, так что этот код нормально , Сервер никогда не получал значение -1, поэтому он не ответил.

 Смежные вопросы

  • Нет связанных вопросов^_^