no message

This commit is contained in:
zcy 2022-02-09 10:53:43 +08:00
parent bb757480ac
commit 98fcc3c479
7 changed files with 37 additions and 74 deletions

View File

@ -173,12 +173,10 @@ LRESULT BasicForm::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)
mMonitorNewSelect->Close(); 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) { if (uMsg == WM_ADD_UART_MONITOR) {
printf("add monitor"); printf("add monitor");
UartInfo* p = (UartInfo*)wParam; UartInfo* p = (UartInfo*)wParam;
@ -273,18 +271,13 @@ void BasicForm::InitWindow(){
mMonitor->GetRootNode()->AddChildNode(node); mMonitor->GetRootNode()->AddChildNode(node);
node = new ui::TreeNode; node = new ui::TreeNode;
node->SetText(nbase::StringPrintf(L"udp client")); 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 server"));
node->SetClass(L"list_topitem"); node->SetClass(L"list_topitem");
node->SetFixedHeight(30); node->SetFixedHeight(30);
mMonitor->GetRootNode()->AddChildNode(node); mMonitor->GetRootNode()->AddChildNode(node);
node = new ui::TreeNode; node = new ui::TreeNode;
node->SetText(nbase::StringPrintf(L"udp group")); node->SetText(nbase::StringPrintf(L"udp group"));
node->SetClass(L"list_topitem"); node->SetClass(L"list_topitem");

View File

@ -8,5 +8,5 @@
#define WM_ADD_UART_CLOSE (WM_USER + 6) #define WM_ADD_UART_CLOSE (WM_USER + 6)
#define WM_ADD_TCPSERVER_MONITOR (WM_USER + 7) #define WM_ADD_TCPSERVER_MONITOR (WM_USER + 7)
#define WM_ADD_UDP_CLIENT_MONITOR (WM_USER + 8) #define WM_ADD_UDP_MONITOR (WM_USER + 8)
#define WM_ADD_UDP_SERVER_MONITOR (WM_USER + 9) #define WM_ADD_UDP_GROUP_MONITOR (WM_USER + 9)

View File

@ -9,6 +9,7 @@
#include "serial_port.h" #include "serial_port.h"
#include "base_form.h" #include "base_form.h"
#include "tcp_client.h" #include "tcp_client.h"
#include "udp_libevent.h"
#include "utils.h" #include "utils.h"
#include <string> #include <string>
@ -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_ip_select->GetText().c_str());
wprintf(L"%s\r\n", m_port_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") { 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_ip_select->GetText().c_str());
wprintf(L"%s\r\n", m_port_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();
} printf("¿ªÆô·þÎñ¶Ë %d \r\n", p->socket_fd);
if (m_combo_type->GetText() == L"udp server") {
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; return true;
@ -234,7 +245,7 @@ void NewMonitorForm::InitWindow()
element->SetFixedHeight(30); element->SetFixedHeight(30);
element->SetBkColor(L"white"); element->SetBkColor(L"white");
element->SetTextPadding({ 6,0,6,0 }); element->SetTextPadding({ 6,0,6,0 });
element->SetText(nbase::StringPrintf(L"udp client")); element->SetText(nbase::StringPrintf(L"udp"));
m_combo_type->Add(element); m_combo_type->Add(element);
element = new ui::ListContainerElement; element = new ui::ListContainerElement;
@ -242,7 +253,7 @@ void NewMonitorForm::InitWindow()
element->SetFixedHeight(30); element->SetFixedHeight(30);
element->SetBkColor(L"white"); element->SetBkColor(L"white");
element->SetTextPadding({ 6,0,6,0 }); 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_combo_type->Add(element);
} }
m_ip_config_vbox = dynamic_cast<ui::VBox*>(FindControl(L"ip_config")); m_ip_config_vbox = dynamic_cast<ui::VBox*>(FindControl(L"ip_config"));
@ -252,8 +263,8 @@ void NewMonitorForm::InitWindow()
m_uart_select_combo = dynamic_cast<ui::Combo*>(FindControl(L"uart_type")); m_uart_select_combo = dynamic_cast<ui::Combo*>(FindControl(L"uart_type"));
m_uart_select_combo->AttachAllEvents([this](ui::EventArgs* ev) { m_uart_select_combo->AttachAllEvents([this](ui::EventArgs* ev) {
if (ev->Type == 42) { if (ev->Type == 42) {
} }
return true; return true;
}); });
@ -267,7 +278,6 @@ void NewMonitorForm::InitWindow()
if (ev->Type == 42) { if (ev->Type == 42) {
auto text = p->GetText(); auto text = p->GetText();
wprintf(L"%s\r\n", text.c_str()); wprintf(L"%s\r\n", text.c_str());
if (text == L"uart") { if (text == L"uart") {
this->m_ip_config_vbox->SetVisible(false); this->m_ip_config_vbox->SetVisible(false);
this->m_uart_config_vbox->SetVisible(true); this->m_uart_config_vbox->SetVisible(true);

View File

@ -174,7 +174,7 @@
<ClCompile Include="tcp_client_form.cpp" /> <ClCompile Include="tcp_client_form.cpp" />
<ClCompile Include="tcp_server_libevent.cpp" /> <ClCompile Include="tcp_server_libevent.cpp" />
<ClCompile Include="uart_form.cpp" /> <ClCompile Include="uart_form.cpp" />
<ClCompile Include="udp_client_libevent.cpp" /> <ClCompile Include="udp_libevent.cpp" />
<ClCompile Include="utils.cpp" /> <ClCompile Include="utils.cpp" />
<ClCompile Include="lua_bind.cpp" /> <ClCompile Include="lua_bind.cpp" />
</ItemGroup> </ItemGroup>
@ -190,8 +190,9 @@
<ClInclude Include="serial_port.h" /> <ClInclude Include="serial_port.h" />
<ClInclude Include="tcp_server_form.h" /> <ClInclude Include="tcp_server_form.h" />
<ClInclude Include="tcp_client_form.h" /> <ClInclude Include="tcp_client_form.h" />
<ClInclude Include="tcp_server_libevent.h" />
<ClInclude Include="uart_process.h" /> <ClInclude Include="uart_process.h" />
<ClInclude Include="udp_client_libevent.h" /> <ClInclude Include="udp_libevent.h" />
<ClInclude Include="utils.h" /> <ClInclude Include="utils.h" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View File

@ -57,7 +57,7 @@
<ClCompile Include="global.cpp"> <ClCompile Include="global.cpp">
<Filter>源文件</Filter> <Filter>源文件</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="udp_client_libevent.cpp"> <ClCompile Include="udp_libevent.cpp">
<Filter>源文件</Filter> <Filter>源文件</Filter>
</ClCompile> </ClCompile>
</ItemGroup> </ItemGroup>
@ -101,7 +101,10 @@
<ClInclude Include="global.h"> <ClInclude Include="global.h">
<Filter>头文件</Filter> <Filter>头文件</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="udp_client_libevent.h"> <ClInclude Include="tcp_server_libevent.h">
<Filter>头文件</Filter>
</ClInclude>
<ClInclude Include="udp_libevent.h">
<Filter>头文件</Filter> <Filter>头文件</Filter>
</ClInclude> </ClInclude>
</ItemGroup> </ItemGroup>

View File

@ -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;
}

View File

@ -1,36 +0,0 @@
#pragma once
#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x0500
#include <WinSock2.h>
#endif
#ifdef linux
#include<sys/types.h>
#include<sys/socket.h>
#include<arpa/inet.h>
#define EVENT__HAVE_PTHREADS
#endif
#include <stdint.h>
#include <iostream>
#include <mutex>
#include <thread>
#include <map>
#include <functional>
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;
};