更新时间:2017-06-28 11:32:05浏览次数:1+次
int main()
{
g_srv.setnewconnectcb(new_conn_cb);
g_srv.Start("0.0.0.0", 6111);
return 0;
}
然后提供回调函数和全局服务端变量的代码如下:CTcpServer g_srv;
void recv_cb(int client_id, const char* buf, int buf_size)
{
//处理接受消息
char* tmp = new char[buf_size*2];
memcpy(tmp, buf, buf_size*2);
if (client_id==1)
{
g_srv.send(2, (const char*)tmp, buf_size);
}
if (client_id==2)
{
g_srv.send(1, (const char*)tmp, buf_size);
}
delete[] tmp;
tmp = 0;
}
void new_conn_cb(int client_id)
{
//设置新连接接收数据回调函数
g_srv.setrecvcb(client_id, recv_cb);
}
我们在recv_cb函数中,根据客户端ID变量client_id来识别不同的客户端,我们这里只是做测试,就固定为1和2,也就是先后连接的两个客户端。然后进行交叉数据转发,即1发给2,2发给1。相关资讯