小编Ido*_*dov的帖子

在c ++中查看UDP消息


我正在尝试使用c ++中的套接字接收UDP消息.
我在标题中发送消息的大小,所以我可以知道应分配多少内存,所以我试着看一下这样的消息的开头:

int bytesRead = recvfrom(m_socketId, (char*)&header, Message::HeaderSize, MSG_PEEK, (struct sockaddr *)&fromAddr, &addrSize);  
Run Code Online (Sandbox Code Playgroud)

但我一直收到系统错误10040:

"在数据报套接字上发送的消息大于内部消息缓冲区或某些其他网络限制,或者用于接收数据报的缓冲区小于数据报本身."

有没有办法偷看信息的乞讨?
谢谢 :)

c++ windows udp peek

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

PE Header 的大小

有没有办法在不阅读所有内容或整个文件的情况下找出 PE 标头的大小?

windows portable-executable

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

.pdata部分中包含的结构

我需要阅读x64 PE文件的".pdata"部分.
我已经看到".pdata"部分中的结构从一个平台到另一个平台不同
http://msdn.microsoft.com/en-us/library/aa448751.aspx
它在PE规范文档中也说了同样的事情.
但我不明白常规窗户是什么(XP/Vista/Win7等)

有人是什么?

windows 64-bit portable-executable

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

模板类中的函数指针的成员给出错误:当后跟'::'时必须是类或命名空间

我试图在C++中声明一个模板函数指针.

template <class T>
class MyClass
{
public:
    typedef const unsigned char* (T::*MyTemplatedEvent)(unsigned long &myParameter);
};
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,我不断收到此错误:

'T':后跟'::'时必须是类或命名空间

谁能说出我做错了什么?
编译器应该知道T是一个类.它说的高于MyClass声明......

c++ templates compiler-errors

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

.NET Core 在处理 HTTPS 证书时出现未知错误

我正在尝试构建一个使用 HTTPS 连接的 .NET Core 服务器。

我使用工具创建了一个自签名证书dotnet dev-certs并设置了 Kestrel,如下所示:

    return WebHost.CreateDefaultBuilder(args)
                    .UseKestrel(options =>
                    {
                        options.Listen(IPAddress.Loopback, 5000, lisOpt => lisOpt.UseHttps("myCert.pfx", "test"));
                    })
                  .UseStartup<Startup>()
                .Build();
Run Code Online (Sandbox Code Playgroud)

但是当我尝试与我的客户端连接时,我不断收到此异常:

fail: Microsoft.AspNetCore.Server.Kestrel[0]
      Uncaught exception from the OnConnectionAsync method of an IConnectionAdapter.
System.Security.Authentication.AuthenticationException: Authentication failed, see inner exception. ---> System.ComponentModel.Win32Exception: An unknown error occurred while processing the certificate
   --- End of inner exception stack trace ---
   at System.Net.Security.SslState.StartSendAuthResetSignal(ProtocolToken message, AsyncProtocolRequest asyncRequest, ExceptionDispatchInfo exception)
   at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest) …
Run Code Online (Sandbox Code Playgroud)

ssl ssl-certificate .net-core kestrel-http-server

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

C++仿函数作为函数指针

我有一个Functor,我需要发送到一个函数,它接收一个函数指针作为参数(如CreateThread).

我能以某种方式将其转换为静态方法地址吗?如果没有,我该怎么办?

c++ windows functor

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

获取调用堆栈的大小

有没有办法在 C++ 中获取调用堆栈的大小(以字节为单位)?
或者至少是它的底部地址(然后我可以从 ESP 寄存器中减去它?

c++ windows callstack

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

使用本机C++行走.NET callstack

有没有办法使用本机c ++来运行.NET callstack?
我读过dbgHelp只处理本机帧.
此外,我尝试找到有关如何构建.NET callstack但没有找到任何内容的信息.
有人知道这个链接吗?

.net c++ callstack

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

实现 DllRegisterServer 方法

我正在尝试实现 COM 的 DllRegisterServer 方法。
所以我读了这个教程:http :
//www.codeguru.com/cpp/com-tech/activex/tutorials/article.php/c5567/Step-by-Step-COM-Tutorial.htm

我按照步骤直到DllRegisterServer的部分。
这是他们的实现:

HRESULT  __stdcall DllRegisterServer(void)
    {
    //
    //As per COM guidelines, every self installable COM inprocess component
    //should export the function DllRegisterServer for printing the 
    //specified information to the registry
    //
    //

    WCHAR *lpwszClsid;
    char szBuff[MAX_PATH]="";
    char szClsid[MAX_PATH]="", szInproc[MAX_PATH]="",szProgId[MAX_PATH];
    char szDescriptionVal[256]="";

    StringFromCLSID(
            CLSID_AddObject,
            &lpwszClsid);

    wsprintf(szClsid,"%S",lpwszClsid);
    wsprintf(szInproc,"%s\\%s\\%s","clsid",szClsid,"InprocServer32");
    wsprintf(szProgId,"%s\\%s\\%s","clsid",szClsid,"ProgId");


    //
    //write the default value 
    //
    wsprintf(szBuff,"%s","Fast Addition Algorithm");
    wsprintf(szDescriptionVal,"%s\\%s","clsid",szClsid);

    HelperWriteKey (
                HKEY_CLASSES_ROOT,
                szDescriptionVal,
                NULL,//write to the "default" value
                REG_SZ,
                (void*)szBuff,
                lstrlen(szBuff)
                );


    // …
Run Code Online (Sandbox Code Playgroud)

c++ com dllregistration

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

StackWalk64 和自定义展开数据(x64 堆栈)检索

是否可以StackWalk64加载并使用我提取的 RUNTIME_FUNCTION 表?
我发现的唯一方法是在使用SymLoadModule64时加载它,它非常慢。

我还看到StackWalk64可以接收一个函数,该函数每次都会为其提供适当的 RUNTIME_FUNCTION 条目,但它需要我实现部分未记录的 x64 UNWINDING 算法。

是否可以使用RtlInstallFunctionTableCallbackor这样做RtlAddFunctionTable?它们与StackWalk64?
如果是这样,如何?我找不到这方面的例子。

c++ windows 64-bit stack-trace dbghelp

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