Я разрабатываю приложение IOS в xamrain для связи с оборудованием, в котором приложение, отправляющее строковое сообщение на оборудование и оборудование, отвечает клиенту сообщения, читающему это сообщение, через сетевой поток.После прочтения сообщения от клиента сетевого потока очистите сетевой поток, но старое сообщение все еще остается в сетевом потоке.Пожалуйста, предложите мне решение, если кто-нибудь знает.
private async Task CommandSendAsync()
{
if (sock.Connected)
{
StreamWriter writer = new StreamWriter(sock.GetStream());
writer.WriteLine("abc");
writer.Flush();
await DataReceivedAsync();
}
else { sock.Connect(192.168.1.1, 8025); }
}
string String = "";
public byte[] ReadJunctionSetting = new byte[1071];
int a = 0;
protected Socket SimNetSocket;
public async Task DataReceivedAsync()
{
try
{
await Task.Delay(2000);
String = "";
var abc = sock.GetStream();
//byte[] bytes = new byte[sock.ReceiveBufferSize];
while ((i = abc.Read(ReadJunctionSetting, 0, ReadJunctionSetting.Length)) != 0)
{
abc.Flush();
for (int j = 0; j < 1071; j++)
{
string c = char.ConvertFromUtf32(ReadJunctionSetting[j]);
String += c;
}
abc.Read(ReadJunctionSetting, 0, ReadJunctionSetting.Length);
break;
}
}
catch
{
}
}