private async Task<bool> SendResponse(int id, bool emptyresponse = false)
{
bool suc = false;
if (ResponsConfigDictionary.ContainsKey(id))
{
while (ResponsConfigDictionary[id].response_finish == false) await Task.Delay(5);
try
{
DataWriter dataWriter = new DataWriter(ResponsConfigDictionary[id].socket.OutputStream);
//dataWriter.UnicodeEncoding = Windows.Storage.Streams.UnicodeEncoding.Utf8;
dataWriter.UnicodeEncoding = Windows.Storage.Streams.UnicodeEncoding.Utf8;
var bytearray = (emptyresponse) ? new byte[]{} : Encoding.GetEncoding("UTF-8").GetBytes(ResponsConfigDictionary[id].Response);
//s = Encoding.GetEncoding("UTF-8").(bytearray, 0, bytearray.Length);
//dataWriter.WriteString(s);
dataWriter.WriteBytes(bytearray);
//dataWriter.WriteString(s);
//await dataWriter.FlushAsync();
await dataWriter.StoreAsync();
dataWriter.DetachStream();
dataWriter.Dispose();
suc = true;
}
catch
{
suc = false;
}
ResponsConfigDictionary[id].ClearConfig();
}
return suc;
}