PDA

View Full Version : [c#] Tcp/Ip Conferma scrittura


andreapav
06-08-2010, 10:10
Ciao ragazzi.

Sto realizzando un protocollo di comunicazione con un device ma ho un problema: uso la comunicazione di stringhe via tcpip però non so perchè la prima scrittura non arriva al device, le successive si.

uso un oggetto streamNetwork preso con GetStream e faccio la Write con Write(byte[],...).


if (message.Length > 255)
return "Invalid Message String";
try
{
if (!m_Tcp.Connected)
{
return "Server Disconnected";
}

//preparo per la lettura
m_NtStr = m_Tcp.GetStream();

// padding e conversione messaggio
if (message.Length < 255)
message = message.PadRight(255);
byte[] m_Bytes = new byte[message.Length];
System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
m_Bytes = encoding.GetBytes(message);

// scrittura
m_NtStr.Write(m_Bytes, 0, 255);
}
catch (Exception ex)
{
//Debug
Console.WriteLine("WR catch " + ex.Message);
Connect();
return "e: " + ex.Message;
}
return "";


Come faccio a vedere la conferma di scrittura?? o devo usare BeginWrite??

grazie!

tomminno
06-08-2010, 11:10
Come faccio a vedere la conferma di scrittura?? o devo usare BeginWrite??

grazie!

Se non ottieni un'eccezione (nel caso di problemi specifici nell'invio dati il tipo è IOException) hai automaticamente la conferma dell'esito positivo dell'operazione.

andreapav
06-08-2010, 12:26
Ciao!

ma se il device al quale scrivo non ha niente nella porta in lettura allora dove ho scritto? :S