Skip to content

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()));
    }
}