【问题标题】:Return an open socket connection/leave a socket connection open C++返回打开的套接字连接/保持打开的套接字连接 C++
【发布时间】:2017-02-23 18:48:29
【问题描述】:

所以我是 C++ 套接字编程的新手,我正在为某个协议编写一个库。

我有一个类,其中有一个名为 Quick_Connect(hostname, port) 的函数,但我遇到了麻烦,无法弄清楚在使用库时如何执行以下操作:

ClassName.Quick_Connect();
ClassName.SomeOtherMethod(); 

其他方法将协议消息发送到使用 Quick_Connect() 创建的打开套接字。

对不起,如果这是一个愚蠢的问题,我对 c++ 和低级网络还很陌生。我不知道这是否可行,或者是否需要修改当前代码的结构。

【问题讨论】:

    标签: c++ sockets oop inheritance return


    【解决方案1】:

    你可以使用你的类的成员变量。只需在类中定义套接字成员并在Quick_Connect 中设置此变量。

    然后你可以通过其他方法使用它。它将被包裹在您的对象中。

    class Protocol
    {
    public:
        Quick_Connect()
        {
            m_Socket = CreateSocket();
        };
    
        SomeOtherMethod()
        {
            if (m_Socket)
            {
                // use your m_Socket for sending data.    
            }
        };
    
    private:
        Socket m_Socket;
    };
    

    【讨论】:

    • 谢谢! :) ,这行得通。不知道我怎么没想到的。
    猜你喜欢
    • 1970-01-01
    • 2018-02-25
    • 1970-01-01
    • 1970-01-01
    • 2012-11-23
    • 2013-04-13
    • 1970-01-01
    • 1970-01-01
    • 2012-02-02
    相关资源
    最近更新 更多