0
私はUWPに問題があります。小さなWebサーバーとして動作するようにStreamSocketListenerをバインドしようとしていますが、20個程度の接続後にReadAsync関数がハングし、アプリケーションは最終的にエラーなしで終了します。ここでUWP Socket.InputStream.ReadAsync Hangs
は、私が使用しているコードです:
private const uint bufferSize = 1024;
private int port = 9000;
public async void Start()
{
StreamSocketListener listener = new StreamSocketListener();
listener.ConnectionReceived += async (sender, args) =>
{
string request = null;
using (IInputStream input = args.Socket.InputStream)
{
byte[] data = new byte[bufferSize];
IBuffer buffer = data.AsBuffer();
uint bytesRead = bufferSize;
while (bytesRead == bufferSize)
{
IBuffer result = await input.ReadAsync(buffer, bufferSize, InputStreamOptions.Partial);
request += Encoding.ASCII.GetString(result.ToArray());
bytesRead = buffer.Length;
}
processRequest(getPath(request), args.Socket.OutputStream);
}
};
await listener.BindServiceNameAsync(port.ToString());
}