gpt4 book ai didi

android - MonoDroid 简单的网络服务器

转载 作者:行者123 更新时间:2023-11-29 18:21:56 30 4
gpt4 key购买 nike

我创建了一个在 Android 设备上运行的简单网络服务器,它基本上响应在 Preview 11 之前工作的 Hello World。是否有任何重大变化导致它不再工作或者我做错了什么?应用程序崩溃 context.Response.OutputStream.Write( buffer, 0, buffer.Length );

代码:

public class Activity1 : Activity
{
private HttpListener listener;

protected override void OnCreate( Bundle bundle )
{
base.OnCreate( bundle );

// Set our view from the "main" layout resource
SetContentView( Resource.Layout.Main );

// Get our button from the layout resource,
// and attach an event to it
var button = FindViewById<Button>( Resource.Id.MyButton );

button.Click += button_Click;
}

private void button_Click( object sender, EventArgs e )
{
try
{
if ( !HttpListener.IsSupported )
return;

listener = new HttpListener();
listener.Prefixes.Add( "http://+:8001/" );
listener.Start();
listener.BeginGetContext( HandleRequest, listener );
}
catch ( Exception )
{
throw;
}
}

private void HandleRequest( IAsyncResult result )
{
HttpListenerContext context = listener.EndGetContext( result );

string response = "<html>Hello World</html>";
byte [] buffer = Encoding.UTF8.GetBytes( response );

context.Response.ContentLength64 = buffer.Length;
context.Response.OutputStream.Write( buffer, 0, buffer.Length );
context.Response.OutputStream.Close();

listener.BeginGetContext( HandleRequest, listener );
}
}

日志:

I/ActivityManager( 112): 进程 torqsoftware.testwebserver (pid 3044) 已终止。

I/WindowManager( 112): WIN DEATH: Window{44d15120 torqsoftware.testwebserver/monodroidwebservertest.Activity1 paused=false}

D/Zygote ( 58):进程 3044 被信号 (4) 终止

V/RenderScript_jni( 199): surfaceCreated

V/RenderScript_jni( 199): surfaceChanged

I/UsageStats( 112):com.android.launcher 意外恢复,而 torqsoftware.testwebserver 已经恢复

W/InputManagerService( 112): 得到 RemoteException 向 pid 3044 uid 10062 发送 setActive(false) 通知

谢谢狮子座

最佳答案

这似乎与当用户移动到 android 中的另一个应用程序时 Activity 被“暂停”这一事实有关。在这种情况下,您可能已经打开浏览器来访问在暂停 Activity 中运行的 http 服务器。我建议您将 http 服务器实现为服务而不是 Activity 。

关于android - MonoDroid 简单的网络服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4893392/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com