我一直在使用“ StreamSocketListener ”在 PC 和带有 Windows 10 IoT(构建 10586 TH2)的 Raspberry PI 2 之间进行一些通信。这在调试模式下似乎工作正常,但是在发布模式下测试代码时,“ StreamSocketListener ”似乎随机停止响应请求。
在调试模式下,在 RPI2 上,我有 10 万个请求的会话,没有一个问题,但是当我推送发布版本时,它会随机地、很快地停止(通常在几百个请求之后)。请求是静态类型的,所以每次输入都是一样的。
有没有人遇到过同样的问题,有没有解决这个问题的方法?
该代码基于此博客文章:
用于 Windows 8 Metro 应用程序的简单进程内 HTTP 服务器
private void Listen()
{
_listener = new StreamSocketListener();
_listener.ConnectionReceived += (s, e) => ProcessRequestAsync(e.Socket);
_listener.BindServiceNameAsync(requestPort.ToString());
}
private async void ProcessRequestAsync(StreamSocket socket)
{
try
{
// this works for text only
StringBuilder request = new StringBuilder();
using (IInputStream input = socket.InputStream)
{
byte[] data = new byte[BufferSize];
IBuffer buffer = data.AsBuffer(); …Run Code Online (Sandbox Code Playgroud)