有人能提供一个简单的示例来说明如何使用 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/