NTcpClient
NTcpClient类提供封装好的Tcp客户端接口,可直接用于Tcp通信
- 接口:
| 接口 | 参数 | 描述 |
|---|---|---|
| void Close(); void Close(std::error_code& ec); | ec:错误码 | 关闭Tcp客户端 |
| void Connect(NIPEndPointPtr port); void Connect(NIPEndPointPtr port, std::error_code& ec); | port:要连接的服务端的ip与端口号;ec:错误码 | 连接Tcp服务端 |
| void Receive(char* data, size_t offset, size_t size, bool bAsync = false, NTransmitCallback callback = nullptr); | data:接收的数据;offset:接收数据的偏移量;size:接收的数据量;bAsync:是否为异步通信;callback:异步通信时的回调函数 | 接收信息 |
| void Send(char* data, size_t offset, size_t size, bool bAsync = false, NTransmitCallback callback = nullptr); | data:发送的数据;offset:发送数据的偏移量;size:发送的数据量;bAsync:是否为异步通信;callback:异步通信时的回调函数 | 发送信息 |
示例代码:
cpp
void tcpclient::Connect()
{
//创建TcpClient
auto tcpClient = NNetWorkManager::CreateTcpClient();
NIPEndPointPtr endPoint1 = NNetWorkManager::CreateIPEndPoint(“127.0.0.1”, 8080);
std::error_code ec;
tcpClient->Connect(endPoint1, ec);
if (ec)
{
LogEngine ("初始化失败,失败原因:%s", ec.message().c_str());
}
else
{
LogEngine ("初始化成功");
}
}
void tcpclient::RecvMsg()
{
if (tcpClient)
{
char buffer[512];
tcpClient->Receive(buffer, 0, 512);
LogEngine("---------buffer:%s---------", buffer);
}
}
void tcpclient::SendMsg()
{
if (tcpClient)
{
std::string sendmsg = “TestSend”;
tcpClient->Send(sendmsg.data(), 0, strlen(sendmsg.data()));
}
}
