新手入门
- 积分
- 13
- 金钱
- 13
- 注册时间
- 2019-5-24
- 在线时间
- 2 小时
|
1.配置tcp_server的代码如下,里面创建了一个tcppcbnew控制块,作用是一个server对一个client。但是如果我想一个server通过路由器连接多个clients怎么办?是不是每一个cleint都要在server这一端有一个独立的tcp控制块?如果是这样,那么server端在不知道client的数量的情况下如何去申请足够的空间来放tcp控制块。希望各位高手给讲解一下。
void tcp_server_test(void)
{
err_t err;
struct tcp_pcb *tcppcbnew; //定义一个TCP服务器控制块
struct tcp_pcb *tcppcbconn; //定义一个TCP服务器控制块
tcppcbnew=tcp_new(); //创建一个新的pcb
if(tcppcbnew) //创建成功
{
err=tcp_bind(tcppcbnew,IP_ADDR_ANY,TCP_SERVER_PORT); //将本地IP与指定的端口号绑定在一起,IP_ADDR_ANY为绑定本地所有的IP地址
if(err==ERR_OK) //绑定完成
{
tcppcbconn=tcp_listen(tcppcbnew); //设置tcppcb进入监听状态
tcp_accept(tcppcbconn,tcp_server_accept); //初始化LWIP的tcp_accept的回调函数
}
else res=1;
}
}
|
|