Page 1 of 1

wxsocket проблема

Posted: Sat Nov 17, 2012 4:52 am
by 1van
Доброго времени суток.
Начал разбираться с wxsocket.
Есть сервер, есть клиент.
Кусок кода сервера, в котором возникает предупреждение:

Code: Select all

void ServerFrame::OnServerSocketEvent(wxSocketEvent & event)
{
    wxSocketBase *sock;
    wxIPV4address addr;
    switch(event.GetSocketEvent())
    {
    case wxSOCKET_CONNECTION:
        sock = m_SocketServer->Accept(FALSE);
        if (!sock) return;
        sock->SetEventHandler(*this, ID_SOCKET_CLIENT);
        sock->SetNotify(wxSOCKET_INPUT_FLAG | wxSOCKET_LOST_FLAG);
        sock->Notify(TRUE);
        sock->GetLocal(addr);
        m_Clients.Append(sock);
        m_LOGTextCtrl->AppendText(wxString::Format(_("Новое подключение: %s\r\n"), addr.IPAddress()));
        ShowClientList();
        break;
    }
}
Сопсно, само предупреждение:
warning: enumeration value 'wxSOCKET_INPUT' not handled in switch
warning: enumeration value 'wxSOCKET_OUTPUT' not handled in switch
warning: enumeration value 'wxSOCKET_LOST' not handled in switch

При попытке соединения клиента switch не заводится.
Выше прописан connect

Code: Select all

Connect(ID_SOCKET_SERVER, wxEVT_SOCKET,
    (wxObjectEventFunction)&ServerFrame::OnServerSocketEvent);
Сопсно, что я делаю не так.
Заранее спасибо.

OS: Windows 7 Максимальная
Compiler: Gnu GCC Compiler
IDE: Code::Blocks
wxWidgets: 2.8.12

Re: wxsocket проблема

Posted: Mon Nov 19, 2012 10:54 am
by borr_1
а ты в \wxMSW-2.8.12\samples\sockets заглядывал?

Re: wxsocket проблема

Posted: Tue Nov 20, 2012 10:24 am
by 1van
borr_1 wrote:а ты в \wxMSW-2.8.12\samples\sockets заглядывал?
Конечно заглядывал, но всё же в чём причина warning понять не могу.

Re: wxsocket проблема

Posted: Wed Nov 21, 2012 4:41 am
by borr_1
Варнинги при сборке?
походу либа тебя предупреждает, что помимо case wxSOCKET_CONNECTION: есть еще wxSOCKET_INPUT, wxSOCKET_OUTPUT ну и лост на которые ты забил

Что значит
При попытке соединения клиента switch не заводится.
отладчик вообще не попадает в событие евента или после свитч сразу на брейк? case wxSOCKET_CONNECTIOТN: попробуй взять в скобки. Что там у тебя в GetSocketEvent?