diff --git a/examples/proto_debuger/base_form.cpp b/examples/proto_debuger/base_form.cpp index 8064f5f5..1ac23b40 100644 --- a/examples/proto_debuger/base_form.cpp +++ b/examples/proto_debuger/base_form.cpp @@ -173,12 +173,10 @@ LRESULT BasicForm::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam) mMonitorNewSelect->Close(); } - if (uMsg == WM_ADD_UDP_CLIENT_MONITOR) { + if (uMsg == WM_ADD_UDP_MONITOR) { } - if (uMsg == WM_ADD_UDP_SERVER_MONITOR) { - } if (uMsg == WM_ADD_UART_MONITOR) { printf("add monitor"); UartInfo* p = (UartInfo*)wParam; @@ -273,18 +271,13 @@ void BasicForm::InitWindow(){ mMonitor->GetRootNode()->AddChildNode(node); node = new ui::TreeNode; - node->SetText(nbase::StringPrintf(L"udp client")); - node->SetClass(L"list_topitem"); - node->SetFixedHeight(30); - - mMonitor->GetRootNode()->AddChildNode(node); - - node = new ui::TreeNode; - node->SetText(nbase::StringPrintf(L"udp server")); + node->SetText(nbase::StringPrintf(L"udp")); node->SetClass(L"list_topitem"); node->SetFixedHeight(30); mMonitor->GetRootNode()->AddChildNode(node); + + node = new ui::TreeNode; node->SetText(nbase::StringPrintf(L"udp group")); node->SetClass(L"list_topitem"); diff --git a/examples/proto_debuger/msgdef.h b/examples/proto_debuger/msgdef.h index 6ae918b5..d683ce6b 100644 --- a/examples/proto_debuger/msgdef.h +++ b/examples/proto_debuger/msgdef.h @@ -8,5 +8,5 @@ #define WM_ADD_UART_CLOSE (WM_USER + 6) #define WM_ADD_TCPSERVER_MONITOR (WM_USER + 7) -#define WM_ADD_UDP_CLIENT_MONITOR (WM_USER + 8) -#define WM_ADD_UDP_SERVER_MONITOR (WM_USER + 9) +#define WM_ADD_UDP_MONITOR (WM_USER + 8) +#define WM_ADD_UDP_GROUP_MONITOR (WM_USER + 9) diff --git a/examples/proto_debuger/new_monitor_form.cpp b/examples/proto_debuger/new_monitor_form.cpp index 3acaaf25..74ec9156 100644 --- a/examples/proto_debuger/new_monitor_form.cpp +++ b/examples/proto_debuger/new_monitor_form.cpp @@ -9,6 +9,7 @@ #include "serial_port.h" #include "base_form.h" #include "tcp_client.h" +#include "udp_libevent.h" #include "utils.h" #include @@ -133,15 +134,12 @@ void NewMonitorForm::InitWindow() } } - if (m_combo_type->GetText() == L"udp client") { + + if (m_combo_type->GetText() == L"udp") { wprintf(L"%s\r\n", m_ip_select->GetText().c_str()); wprintf(L"%s\r\n", m_port_select->GetText().c_str()); } - if (m_combo_type->GetText() == L"udp server") { - wprintf(L"%s\r\n", m_ip_select->GetText().c_str()); - wprintf(L"%s\r\n", m_port_select->GetText().c_str()); - } if (m_combo_type->GetText() == L"tcp client") { wprintf(L"%s\r\n", m_ip_select->GetText().c_str()); wprintf(L"%s\r\n", m_port_select->GetText().c_str()); @@ -183,10 +181,23 @@ void NewMonitorForm::InitWindow() - if (m_combo_type->GetText() == L"udp client") { + if (m_combo_type->GetText() == L"udp") { + wprintf(L"%s\r\n", m_ip_select->GetText().c_str()); + wprintf(L"%s\r\n", m_port_select->GetText().c_str()); + int port = atoi(wstring2string(m_port_select->GetText()).c_str()); + UdpDataGramLibevent* udp = new UdpDataGramLibevent(wstring2string(m_ip_select->GetText().c_str()), port); + TcpServerInfo* p = new TcpServerInfo; + p->ip = m_ip_select->GetText(); + p->port = port; + p->socket_fd = m_tcp_server->SocketFd(); - } - if (m_combo_type->GetText() == L"udp server") { + printf("¿ªÆô·þÎñ¶Ë %d \r\n", p->socket_fd); + + auto succ = ::PostMessage(m_parent->GetHWND(), + WM_ADD_UDP_MONITOR, (WPARAM)p, (LPARAM)udp); + if (!succ) { + printf("postmessage error :%d\r\n", GetLastError()); + } } return true; @@ -234,7 +245,7 @@ void NewMonitorForm::InitWindow() element->SetFixedHeight(30); element->SetBkColor(L"white"); element->SetTextPadding({ 6,0,6,0 }); - element->SetText(nbase::StringPrintf(L"udp client")); + element->SetText(nbase::StringPrintf(L"udp")); m_combo_type->Add(element); element = new ui::ListContainerElement; @@ -242,7 +253,7 @@ void NewMonitorForm::InitWindow() element->SetFixedHeight(30); element->SetBkColor(L"white"); element->SetTextPadding({ 6,0,6,0 }); - element->SetText(nbase::StringPrintf(L"udp server")); + element->SetText(nbase::StringPrintf(L"udp group")); m_combo_type->Add(element); } m_ip_config_vbox = dynamic_cast(FindControl(L"ip_config")); @@ -252,8 +263,8 @@ void NewMonitorForm::InitWindow() m_uart_select_combo = dynamic_cast(FindControl(L"uart_type")); m_uart_select_combo->AttachAllEvents([this](ui::EventArgs* ev) { if (ev->Type == 42) { - - } + + } return true; }); @@ -267,7 +278,6 @@ void NewMonitorForm::InitWindow() if (ev->Type == 42) { auto text = p->GetText(); wprintf(L"%s\r\n", text.c_str()); - if (text == L"uart") { this->m_ip_config_vbox->SetVisible(false); this->m_uart_config_vbox->SetVisible(true); diff --git a/examples/proto_debuger/proto_debuger.vcxproj b/examples/proto_debuger/proto_debuger.vcxproj index ab7ce909..3b6a335f 100644 --- a/examples/proto_debuger/proto_debuger.vcxproj +++ b/examples/proto_debuger/proto_debuger.vcxproj @@ -174,7 +174,7 @@ - + @@ -190,8 +190,9 @@ + - + diff --git a/examples/proto_debuger/proto_debuger.vcxproj.filters b/examples/proto_debuger/proto_debuger.vcxproj.filters index 6cbdfde1..ea0a722e 100644 --- a/examples/proto_debuger/proto_debuger.vcxproj.filters +++ b/examples/proto_debuger/proto_debuger.vcxproj.filters @@ -57,7 +57,7 @@ æºæ–‡ä»¶ - + æºæ–‡ä»¶ @@ -101,7 +101,10 @@ 头文件 - + + 头文件 + + 头文件 diff --git a/examples/proto_debuger/udp_client_libevent.cpp b/examples/proto_debuger/udp_client_libevent.cpp deleted file mode 100644 index 05398591..00000000 --- a/examples/proto_debuger/udp_client_libevent.cpp +++ /dev/null @@ -1,8 +0,0 @@ -#include "udp_client_libevent.h" - -UdpClientLibevent::UdpClientLibevent(std::string ipaddr, uint32_t port) -{ - this->m_bind_ip = ipaddr; - this->m_port = m_port; - -} diff --git a/examples/proto_debuger/udp_client_libevent.h b/examples/proto_debuger/udp_client_libevent.h deleted file mode 100644 index e12fcf40..00000000 --- a/examples/proto_debuger/udp_client_libevent.h +++ /dev/null @@ -1,36 +0,0 @@ -#pragma once - -#ifndef _WIN32_WINNT -#define _WIN32_WINNT 0x0500 -#include -#endif - -#ifdef linux -#include -#include -#include -#define EVENT__HAVE_PTHREADS -#endif - -#include -#include -#include -#include -#include -#include - -using namespace std; - -class UdpClientLibevent -{ - UdpClientLibevent(std::string ipaddr,uint32_t port); - -private: - uint32_t m_port; // ¼àÌý¶Ë¿ÚºÅ - string m_bind_ip; // °ó¶¨¶Ë¿ÚºÅ - int m_current_conection; // µ±Ç°Á¬½ÓÊýÄ¿ - uint16_t m_backlog; - struct sockaddr_in m_server_addr; // ·þÎñÆ÷µØÖ· - struct event_base* m_event_base; -}; -