小编KGC*_*beX的帖子

使用Socket或UdpClient进行多播是否有任何功能差异?

我熟悉多播等等.

使用了两个主要示例:

  1. 使用SocketBind()

  2. UDPClient.JoinMulticastNetwork()

一个指定一个LeaveMulticastGroup和另一个绑定和Joining没有LeaveMulticastGroup()

两种多播方法有什么区别,哪种方法更适合使用?

c# sockets multicast

13
推荐指数
1
解决办法
1362
查看次数

registerDefaultNetworkCallback和registerNetworkCallback之间的区别

我在更新API 28的Android应用程序时遇到了registerDefaultNetworkCallbackregisterNetworkCallback.

审阅了文档后,我找不到注册网络回调和注册默认 网络回调之间的区别.

什么时候会用哪个?

提前致谢 :)

android network-programming callback android-connectivitymanager

10
推荐指数
3
解决办法
1017
查看次数

NodeJS + Google Login + Firebase 函数导致解码 firebase 会话 cookie 失败

我需要 Google 登录才能使用 Firebase 应用程序,为了完成此操作,我使用了多个来源:

  • auth-sessions提供了一个很好的开箱即用的 NodeJS + Firebase + Google Login 示例。
  • 管理 firebase 会话提供了一个示例 NodeJS 函数(不是整个工作解决方案)来与 Firebase 函数配合使用。

问题:

当尝试在生产环境中登录 Google 帐户时,执行下面的代码验证函数时会出现以下错误:

admin
    .auth()
    .verifySessionCookie(sessionCookie, true /** checkRevoked */)
    .then((decodedClaims) => {
        log("Decode success");

        // inbetween checks

        log("Successfully decoded and authenticated");
        next();
    })
    .catch((error) => {
        log("Error authenticating");          < ---- THIS IS THE PROBLEM
    ...
    });
Run Code Online (Sandbox Code Playgroud)

此错误仅在生产(即部署到 Firebase)时发生。当使用仅模拟托管和功能的 firebase 模拟器进行本地测试时(auth、firestore、数据库等都是生产环境),登录成功。部署时,登录失败并出现以下错误。

错误:

解码 Firebase 会话 cookie 失败。确保您传递了代表会话 cookie 的整个字符串 JWT。有关如何检索会话 cookie 的详细信息,请参阅https://firebase.google.com/docs/auth/admin/manage-cookies 。


更多细节:

以下是所执行的步骤/操作的高级概述

所执行操作的步骤概述 …

node.js firebase-authentication google-cloud-functions firebase-admin

10
推荐指数
1
解决办法
916
查看次数

Google Cloud Platform / Firebase Function 未通过 onWrite 触发

我的应用程序利用Firestore 函数触发器根据 Firestore 中的更改(例如用户配置文件更改)执行后台操作。例如,如果他们更改手机号码,则会发送验证码。

我有一个触发器,它应该在特定集合上发生onWrite()事件时运行。onWrite()在 Firebase 中针对特定集合发生以下任何操作时运行:

在我的用例中,我需要它为onCreate()and运行onUpdate(),因此我使用onWrite()

要使Firebase 触发器正常工作,除了表示已创建/更改/删除的文档的文档 ID/通配符之外,还需要特定格式。

常数:

const collections = {
    ...
    conversations: "conversations",
    ...
}
Run Code Online (Sandbox Code Playgroud)

可调用函数(更新 firestore):

/**
 * Add an conversation to conversations collection
 * @type {HttpsFunction & Runnable<any>}
 */
exports.addConversations = functions.https.onCall(async (data, context) =>  {
    // expects conversation & interested state
    const {valid, errors} = validateRequiredBody(data, [
        "conversation",
    ]);
    if (!valid) {
        return { …
Run Code Online (Sandbox Code Playgroud)

node.js firebase google-cloud-functions google-cloud-firestore

6
推荐指数
1
解决办法
351
查看次数

Swift UIApplication 不在范围内

我想在出现特定视图时更改 isIdleTimerDisabled 。在 SwiftUI 中我使用

.onAppear { 
    UIApplication.shared.isIdleTimerDisabled = true 
}
.onDisappear { 
    UIApplication.shared.isIdleTimerDisabled = false 
}
Run Code Online (Sandbox Code Playgroud)

但即使import UIKit我收到警告

在范围内找不到“UIApplication”

我该如何解决这个问题?找了一个多小时没有找到解决办法。

uiapplication swift swiftui

6
推荐指数
1
解决办法
6438
查看次数

c ++ - 使用std命名空间和依赖项

在尝试熟悉c ++及其概念时,我遇到了

using namespace std
Run Code Online (Sandbox Code Playgroud)

#include <iostream>
Run Code Online (Sandbox Code Playgroud)

我的简单代码如下

#include "stdafx.h"
#include "ConsoleApplication5.h"
#include <iostream>     

int main()
{
    std::cout << "hi";
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

使用使用intellisense的Visual Studio 2015社区显示

COUT

使用以下内容

std :: ostream std :: cout

作为一名C#程序员,这让我感到困惑.这是 :

的std :: ostream的

是一种回归类型

性病::法院

是传递的方法/参数或是

的std :: ostream的

依赖于

COUT

更新(Archimaredes答案后)

在C#中,可以使用以下内容:

StreamWriter srWrite;
Run Code Online (Sandbox Code Playgroud)

要么

StreamWriter srWrite = new StreamWriter(string filepath)
Run Code Online (Sandbox Code Playgroud)

或者可以使用:

StreamWriter srWrite = new StreamWriter(new NetworkStream(Socket.GetStream()));
Run Code Online (Sandbox Code Playgroud)

每种情况都是一种类型的对象

StreamWriter
Run Code Online (Sandbox Code Playgroud)

可以使用新对象或现有文件或网络流进行分配.

我之后尝试了同样的事情(原谅C#心态)std::ostream x = new std:ostream,返回一个没有默认的构造函数.

你能不能添加std :: ostream和std …

c# c++ c++11

5
推荐指数
1
解决办法
1041
查看次数

ContextCompat.getColor() 对于任何定义的颜色返回 -1

我无法从资源中检索正确的颜色值。

从 araks 的这个非常好的答案getResources().getColor()中,我们看到新的 Marshmallow API 已弃用旧方法,因此

我的实现:(尽管非常广泛地寻找原因)

int resColorID;
if (//something here) {
    //some code
    resColorID = R.color.color1;
    //some code
    resColorID = R.color.color2;
    //some code
    resColorID = R.color.color3;
}
int resC = ContextCompat.getColor(context, resColorID);
ColorDrawable cDraw = new ColorDrawable(resC);
Run Code Online (Sandbox Code Playgroud)

resC总是,但总是返回-1。对于我的一生,我找不到任何关于此的东西,

指定的颜色(它们是任意名称)R.color.color1等均在中定义colors.xml

额外信息:

  • 最小构建 SDK = 19
  • 编译+目标sdk = 23

为什么会发生这种情况?

java sdk android

5
推荐指数
0
解决办法
873
查看次数

qt未定义模板'QList <VPNConnection>'的隐式实例化

首先到达这个问题,我看了几个SO问题,其中一半似乎不适用,另一半,坦率地说,我只是不遵循.

问题:

这是我的问题的简单实现,

错误:未定义模板'QList <VPNConnection>'的隐式实例化

具体来说,VPNListstruct中的对象User_VPN_Info带有上述错误的下划线.

值得注意的是,在一篇文章中提到让你的"孩子"在父母之上,否则就会实现一种原型,因此就是VPNConnection在原型之上User_VPN_Info.

基本说明:

该结构User_VPN_Info应实施结构VPNConnection中的QList的形式持有多VPNConnection

裸码:

struct VPNConnection{
    QString ip,cipher,protocol;
    int port;
    bool lzo_compression;

    VPNConnection(){}

    VPNConnection(QString _ip, QString _cipher, QString _protocol, int _port, bool _comp){
        ip = _ip;
        cipher = _cipher;
        protocol = _protocol;
        port = _port;
        lzo_compression = _comp;
    }
};

struct User_VPN_Info{
    QString vpn_name, vpn_expire;
    int DaysLeft;
    QList<VPNConnection> VPNList;
                         --------              <<< --- underlined with error   
    User_VPN_Info(){}

    User_VPN_Info(QString _vpn_name, QString …
Run Code Online (Sandbox Code Playgroud)

c++ qt struct class

5
推荐指数
1
解决办法
2170
查看次数

在Linux上为Qt应用程序获取root访问权的正确方法

美好的一天

背景:

我正在为Linux系统创建一个OpenVPN包装器应用程序,该应用程序即将完成.我遇到了一些障碍.

OpenVPN需要root访问权来修改路由表(添加和删除路由).这是事情变得模糊和混乱的地方.

希望通过扩展这个问题,可以分享一些行业标准答案和解决方案.

文档:

因此,经过几个小时的搜索,我编制了一个获取root访问权限的可能方法列表,但是似乎没有一个是官方的,也没有任何真正可靠的指导来获得这个SU特权.

让我们考虑以下方法.


1.使用pkexec和polkits

在此处此处查找官方freedesktop polkit文档,以获取有关最佳实践的一些信息

使用pkexec和polkits在线发现了一些教程 - 这里,这有助于我创建我的polkit文件.- SO Thread - 和一个可爱的Qt应用程序小教程

简要解释(我的理解)关于pkexecpolkits:

  • polkits:

polkits由行动和规则组成(参见深入阅读和解释的文件).它定义了应用程序的操作以及与之关联的规则.规则可以定义为属于特定组的用户,其中操作查询规则,成功传递规则,用户自动进行身份验证(没有弹出密码提示),否则他们需要输入管理员密码

  • pkexec:

用于与polkit操作进行交互并对应用程序进行身份验证以获取root访问权限的应用程序.

这些需要在其中添加动作/usr/share/polkit-1/actions//usr/share/polkit-1/rules.d/(在其他目录中,请参阅所有位置的文档)

这种方法似乎很好用(但需要更多的解释才能轻松理解,imo)

注意:有qt-polkit可供使用的库,请参阅其 github存储库

对于简单的TL; DR版本,请参阅此内容

我创建的polkit文件(注意这可能不正确,但它对我有用):

可以找到/添加的位置(还有其他位置)

/usr/share/polkit-1/actions
Run Code Online (Sandbox Code Playgroud)

策略工具包文件名:com.myappname.something.policy // .policy是必需的

注意:

com.myappname.something
Run Code Online (Sandbox Code Playgroud)

被称为政策的命名空间(阅读文档,这将不清楚)

政策套件内容

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC "-//freedesktop//DTD polkit Policy Configuration 1.0//EN"
"http://www.freedesktop.org/software/polkit/policyconfig-1.dtd">
<policyconfig>
  <vendor>My App …
Run Code Online (Sandbox Code Playgroud)

c++ linux qt sudo root

5
推荐指数
1
解决办法
1047
查看次数

如何使用 MinGW 编译器和 SSL 支持静态编译 Qt

如何在 Windows 上静态编译具有 OpenSSL 支持的 Qt(使用 MinGW 编译器) \n此 Qt 构建的预期“结果”是构建并发布具有内置 SSL 支持的可移植 Qt 应用程序。

\n\n

所以这是一个古老的问题,关于这个主题有很多问题,但解决这个问题的解决方案却很少。其中一些问题(和问题):

\n\n\n\n

还有更多

\n\n

以及我自己的一些问题(使用 OpenSSL v1.1.1d & Qt 5.13 和 MinGW ):

\n\n

c++ ssl qt openssl mingw

5
推荐指数
1
解决办法
1421
查看次数