#include "tcp_client_form.h" #include "utils.h" TcpClientForm::TcpClientForm(ui::Window* hwnd,std::string url, uint32_t port, TcpClientLibevent* p): m_connected(false) { mClient = p; mClient->SetObserver(this); if (nullptr != hwnd) { this->SetWindow(hwnd, nullptr, false); } m_url = url; m_port = port; } void TcpClientForm::Init() { ui::ChildBox::Init(); m_label_1 = dynamic_cast(FindSubControl(L"uart_info_label")); m_rich_edit_1 = dynamic_cast(FindSubControl(L"uart_recv_eidt")); m_rich_edit_2 = dynamic_cast(FindSubControl(L"lua_script")); m_uart_send_edit = dynamic_cast(FindSubControl(L"uart_send_edit")); m_btn_send_data = dynamic_cast(FindSubControl(L"btn_send_data")); m_check_box_1 = dynamic_cast(FindSubControl(L"check_new_line")); m_check_box_2 = dynamic_cast(FindSubControl(L"check_time_send")); m_check_box_3 = dynamic_cast(FindSubControl(L"check_hex_send")); m_check_box_4 = dynamic_cast(FindSubControl(L"check_hex_recv")); wchar_t p[100] = { 0 }; wsprintf(p, L"地址%s,端口号%d 未连接", string2wstring(m_url).c_str(),m_port); m_label_1->SetText(std::wstring(p)); m_btn_send_data->AttachAllEvents([this](ui::EventArgs* ev) { if (ev->Type == ui::EventType::kEventClick) { std::wcout << m_uart_send_edit->GetText() << std::endl; auto data = wstring2string(m_uart_send_edit->GetText()); this->ClientEvent()->SendDataAsync(data.c_str(), data.size()); } return true; }); } TcpClientLibevent* TcpClientForm::ClientEvent() { return mClient; } void TcpClientForm::OnConnected() { std::cout << "服务器连接成功\r\n"<<__FILE__<<" " << __LINE__ << std::endl; wchar_t p[100] = { 0 }; wsprintf(p, L"地址%s,端口号%d 连接成功", string2wstring(m_url).c_str(), m_port); m_label_1->SetText(std::wstring(p)); } void TcpClientForm::OnDisConnected(std::string reason) { wchar_t p[100] = { 0 }; wsprintf(p, L"地址%s,端口号%d 未连接 " , string2wstring(m_url).c_str(), m_port); m_label_1->SetText(std::wstring(p) + L" " + string2wstring(reason)); m_connected = false; } void TcpClientForm::OnData(uint8_t* dat, uint64_t len) { std::cout << (char*)dat << std::endl; } void TcpClientForm::OnClose() { } void TcpClientForm::HandleMessage(ui::EventArgs& msg) { }