c++ - wxSocket wxWidgets 失败

标签 c++ wxwidgets

有人能提供一个简单的示例来说明如何使用 wxSockets 写入吗,因为每次我尝试使用它来写入连接时,我都会收到带有该程序的窗口已停止运行,这是我唯一正在做的事情正在使用 wxSocketBase::Write。或者有人知道它为什么失败吗?

我什至尝试过硬编码应该用这样的东西编写的缓冲区:

wxSocketClient * sockConn = new wxSocketClient();

wxString url = "localhost";
wxIPV4address addr;
addr.Hostname(url);
addr.Service(6667);


sockConn->Connect(addr);


wxString test = wxT("testing");
    sockConn->Write(test.mb_str(), wxStrlen(test));



sockConn->Close();
delete sockConn;`

每次调用 write 都会失败

还有一种简单的方法可以让 wxString 与 wxSocket 一起工作,或者在我弄清楚这里发生了什么之后它应该很容易吗?

现在只使用 winsock 来做所有这些事情要容易得多,这不是我拥有 wxWidgets 的原因,我得到它是为了让生活更轻松。

最佳答案

Can someone provide just a simple example of how to use wxSockets write?

是的,我可以:

#include <wx/wx.h>
#include <wx/socket.h>
#include <iostream>

int main () {
  wxInitialize();
  wxSocketClient * sockConn = new wxSocketClient(wxSOCKET_WAITALL);
  wxString url = wxT("localhost");
  wxIPV4address addr;
  addr.Hostname(url);
  addr.Service(6667);
  if(!sockConn->Connect(addr, true)) {
    std::cout << "Connect failed\n";
    return 1;
  }
  wxString test = wxT("testing\n");
  sockConn->Write(test.mb_str(), wxStrlen(test));
  sockConn->Close();
  delete sockConn;
  wxUninitialize();
  return 0;
}

关于c++ - wxSocket wxWidgets 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6432923/

相关文章:

c++ - 抑制 wxFileName::Normalize 错误消息

c++ - 使用 C++ 从 HTTPS 请求 JSON 数据?

c++ - 如何使用 wxWidgets C++ 加载 gif?

c++ - 从成员变量访问静态 constexpr 成员,GCC 错误?

c++ - C++中 vector 的指针算法

c++ - 为什么用 constexpr 声明的引用可以绑定(bind)到 Indeterminate 值变量?

wxwidgets - wxGrid在右侧显示大的空白边框

c++ - wxWidgets BoxSizer 没有扩展到全宽

c++ - 无法将 insert() 结构插入 unordered_set

c++ - Wt::Dbo 中的循环依赖