Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android mono_W32 Socket_convert_错误:没有转换为(64)的winsock错误”;“计算机不在网络上”;_Android_Sockets_Xamarin_Xamarin.forms - Fatal编程技术网

Android mono_W32 Socket_convert_错误:没有转换为(64)的winsock错误”;“计算机不在网络上”;

Android mono_W32 Socket_convert_错误:没有转换为(64)的winsock错误”;“计算机不在网络上”;,android,sockets,xamarin,xamarin.forms,Android,Sockets,Xamarin,Xamarin.forms,我需要通过手机/WiFi控制我的应用程序网络 所以我关注这篇文章 但当我试着打开WiFi时。让wifi成为我的主要网络 然后我试着做一些沟通。应用程序崩溃的可能性很高(90%) 我怎样才能避免呢 谢谢大家! 这是我的密码 public void SomeFunction() { await ForceWifiOverCellular(); try { app_connection_request app_connection_request = ne

我需要通过手机/WiFi控制我的应用程序网络

所以我关注这篇文章

但当我试着打开WiFi时。让wifi成为我的主要网络

然后我试着做一些沟通。应用程序崩溃的可能性很高(90%)

我怎样才能避免呢

谢谢大家!

这是我的密码

public void SomeFunction() 
{ 
    await ForceWifiOverCellular();

    try
    {
        app_connection_request app_connection_request = new app_connection_request
        {
            url = "app_con_req",
            request = mode,
        };

        Settings.Log_Item_Scan += "91/n";
        // Serialize our concrete class into a JSON String
        var stringPayload = await Task.Run(() => JsonConvert.SerializeObject(app_connection_request));

        // Wrap our JSON inside a StringContent which then can be used by the HttpClient class
        var httpContent = new StringContent(stringPayload, Encoding.UTF8, "application/json");

        var myHttpClient = new HttpClient()
        {
            Timeout = TimeSpan.FromSeconds(15)
        };

        Settings.Log_Item_Scan += "92/n"; //Crash at here
        var resp = await myHttpClient.PostAsync(URL, httpContent);


        Settings.Log_Item_Scan += "93/n";
        if (resp.IsSuccessStatusCode)
        {

            Settings.Log_Item_Scan += "94/n";
            var json = await resp.Content.ReadAsStringAsync();
            Settings.Log_Item_Scan += "95/n";
            var result = JsonConvert.DeserializeObject<RS485_Info>(resp.Content.ReadAsStringAsync().Result); 
            {
                return 0;
            }
        }

        return -1; 
    }
    catch (Exception e)
    {

        Settings.Log_Item_Scan += "96/n";
        return -1;
    }
}
public async static Task<int> ForceWifiOverCellular()
{
    await WiFi_Control_Center.Set_WiFI_Enable(true); //This code is to turn on wifi

    await Task.Delay(TimeSpan.FromSeconds(2));
    ConnectivityManager connection_manager = (ConnectivityManager)_context.GetSystemService(Context.ConnectivityService);

    NetworkRequest.Builder request = new NetworkRequest.Builder();
    request.AddTransportType(TransportType.Wifi);

    var callback = new ConnectivityManager.NetworkCallback();
    connection_manager.RegisterNetworkCallback(request.Build(), new CustomNetworkAvailableCallBack());

    await Task.Delay(TimeSpan.FromSeconds(2));
    return 0;
}

public static async Task Set_WiFI_Enable(bool enabled)
{
    try
    {

    WifiManager Temp_WiFi = (WifiManager)Android.App.Application.Context.GetSystemService(Context.WifiService);
    Temp_WiFi.SetWifiEnabled(enabled);
    await Task.Delay(1000);
    }
    catch
    { 
    }
}
public函数()
{ 
等待力为超细胞();
尝试
{
应用程序连接请求应用程序连接请求=新应用程序连接请求
{
url=“app\u con\u req”,
请求=模式,
};
Settings.Log_Item_Scan+=“91/n”;
//将我们的具体类序列化为JSON字符串
var stringPayload=wait Task.Run(()=>JsonConvert.SerializeObject(应用程序连接请求));
//将JSON封装在StringContent中,然后HttpClient类可以使用它
var httpContent=newstringcontent(stringPayload,Encoding.UTF8,“application/json”);
var myHttpClient=newhttpclient()
{
超时=TimeSpan.FromSeconds(15)
};
Settings.Log\u Item\u Scan+=“92/n”//此处崩溃
var resp=wait myHttpClient.PostAsync(URL,httpContent);
Settings.Log_Item_Scan+=“93/n”;
if(分别为IsSuccessStatusCode)
{
Settings.Log_Item_Scan+=“94/n”;
var json=await resp.Content.ReadAsStringAsync();
Settings.Log_Item_Scan+=“95/n”;
var result=JsonConvert.DeserializeObject(resp.Content.ReadAsStringAsync().result);
{
返回0;
}
}
返回-1;
}
捕获(例外e)
{
Settings.Log_Item_Scan+=“96/n”;
返回-1;
}
}
公共异步静态任务ForceWifiOverCellular()
{
等待WiFi\u控制\u中心。设置\u WiFi\u启用(true);//此代码用于打开WiFi
等待任务延迟(时间跨度从秒(2));
ConnectivityManager connection_manager=(ConnectivityManager)_context.GetSystemService(context.ConnectivityService);
NetworkRequest.Builder request=新建NetworkRequest.Builder();
request.AddTransportType(TransportType.Wifi);
var callback=new ConnectivityManager.NetworkCallback();
connection_manager.RegisterNetworkCallback(request.Build(),new CustomNetworkAvailableCallBack());
等待任务延迟(时间跨度从秒(2));
返回0;
}
公共静态异步任务集\u WiFI\u启用(bool启用)
{
尝试
{
WifiManager Temp_WiFi=(WifiManager)Android.App.Application.Context.GetSystemService(Context.WifiService);
温度无线网络设置已启用(已启用);
等待任务。延迟(1000);
}
抓住
{ 
}
}
这是一些日志

06-12 20:47:25.355 D/单声道(14255):总成 System.Reflection.Primitives[0xad468660]添加到域根域, 参考计数=106-12 20:47:25.356 D/单声道(14255):AOT:图像 未找到“System.Reflection.Primitives.dll.so”:dlopen失败: 图书馆 “/data/app/com.mydeltasolar\u 1\u 0\u 1.app-uRHsm2P\ufnlpqc6axjtda==/lib/arm/libaot System.Reflection.Primitives.dll.so” 找不到06-12 20:47:25.356 D/单声道(14255):AOT:图像 “/Users/builder/jenkins/workspace/xamarin-android-d15-9/xamarin-android/external/mono/sdks/out/android-armeabi-v7a-release/lib/mono/aot cache/arm/System.Reflection.Primitives.dll.so” 未找到:dlopen失败:库 “/data/app/com.mydeltasolar\u 1\u 0\u 1.app-uRHsm2P\ufnlpqc6axjtda==/lib/arm/libaot System.Reflection.Primitives.dll.so” 找不到06-12 20:47:25.356 D/Mono(14255):配置正在尝试 解析:“System.Reflection.Primitives.dll.config”。06-12 20:47:25.356 D/Mono(14255):试图解析的配置: “/Users/builder/jenkins/workspace/xamarin-android-d15-9/xamarin-android/external/mono/sdks/out/android-armeabi-v7a-release/etc/mono/assemblies/System.Reflection.Primitives/System.Reflection.Primitives.config”。 06-12 20:47:25.356 D/Mono(14255):装配参考添加参考 Newtonsoft.Json[0xed1995c0]-> 系统反射原语[0xad468660]:206-12 20:47:25.357 D/单声道 (14255):Assembly Ref addref System.Reflection.Primitives[0xad468660] ->mscorlib[0xed1991a0]:91加载的程序集:System.Reflection.Primitives.dll[External]Xamarin.Android返回 没有定制的HttpClientHandler。拖欠 System.Net.Http.HttpClientHandler 06-12 20:47:25.502 I/mono stdout(14255):Xamarin.Android没有返回自定义 HttpClientHandler。默认为System.Net.Http.HttpClientHandler 06-12 20:47:25.519 F/(14255):单声道W32时钟转换错误:否 (64)“计算机不在计算机上”的转换为winsock错误 网络“06-12 20:47:25.534 D/连接管理器(14255): setProcessDefaultNetwork CallingUid:10532,CallingPid:14255 06-12 20:47:25.534 D/ConnectivityManager_URSP(14255):香港被列入黑名单- 假06-12 20:47:26.090 F/libc(14255):致命信号6(SIGABRT), 代码-6(SI_TKILL)在tid 14362(线程池工作)中,pid 14255 (solar_1_0_1.app)06-12 20:47:27.252 D/InputMethodManager(14255): HSIFW-标志:0 Pid:14255


如果你注释掉你的ForceWifiOverCellular函数,你还看到崩溃吗?您还可以分享您的Android构建项目选项,特别是关于正在使用的HTTPClientHandler的部分吗?URL是否以https或http开头?如果您注释掉了ForceWifiOvercell函数,您是否仍然看到崩溃?您还可以分享您的Android构建项目选项,特别是关于正在使用的HTTPClientHandler的部分吗?URL是否以https或http开头?