下边这段代码是我创建TCP客户端的一部分: tcp_clientconn = netconn_new(NETCONN_TCP); //创建一个TCP链接 if(tcp_clientconn==NULL) { goto FLAG_FLASH; } err = netconn_connect(tcp_clientconn,&sip,server_port); //连接服务器 if(err!=ERR_OK) { netconn_delete(tcp_clientconn); //删除连接 tcp_clientconn=NULL; goto FLAG_FLASH; } 现在有个问题是当服务端不在,netconn_connect(tcp_clientconn,&sip,server_port)超时时间太长,有没有怎么可以 设置使得 netconn_connect(tcp_clientconn,&sip,server_port)这个在连接服务器可以超时时间短一点,怎么设置。 求指导 |
STM32F107+LWIP---如何检查tcp通讯断开?并重新连接
有没有用过数字式mems麦克风的,想问下SPI通讯的问题
stm32f103 CAN通讯多帧发送问题?
STM32F107作为USB主机模拟串口通讯不成功(采用PL2303芯片)
STM32F103C8 LIN通讯例程
求助,丐版J-Link通讯不上
ethernet可以与ethercat通讯吗?
LIS3DH SPI 通讯问题
STM32F373 CAN通讯问题CAN_FLAG_LEC
请教高手看看,STM32F1的多机通讯,地址匹配唤醒问题
是LWIP,我用的是示例程序更改的,我试了一下,一个netconn_connect()超时大概11s,太久了,等不起。我看网上有人说设置为非阻塞模式,但是我不知道怎么设置。你有其他方式吗?
err_t
tcpip_apimsg(struct api_msg *apimsg)
{
struct tcpip_msg msg;
if (mbox != SYS_MBOX_NULL) {
msg.type = TCPIP_MSG_API;
msg.msg.apimsg = apimsg;
sys_mbox_post(mbox, &msg);
sys_arch_sem_wait(apimsg->msg.conn->op_completed, 0);
return ERR_OK;
}
return ERR_VAL;
}
我改了,可以提高速度,我想问一下,sys_arch_sem_wait(apimsg->msg.conn->op_completed, 0),timeout设为0,不是立即超时吗?我看了一下netconn_delete、读写操作都会用到,如果设置时间短的话会不会引起其他问题呢。比如netconn_delete(),我要是释放早了,然而另一个地方还在用,会不会造成内存问题?