69,371
社区成员
发帖
与我相关
我的任务
分享
S32 ret = 0;
kal_int8 soc_ret = 0;
#ifndef __MTK_TARGET__
int addrlen = 0;
#endif
g_xtl_socket_cntx.conn_counter = g_xtl_socket_cntx.conn_counter + 1;
if (g_xtl_socket_cntx.conn_counter > 5)
{
return FALSE; //连接5次不成功就退出
}
#ifdef __MTK_TARGET__
ret = soc_connect((S8)g_xtl_socket_cntx.socket_id,&g_xtl_destaddr);
#else
//ret = -1;
ret = soc_connect((S8)g_xtl_socket_cntx.socket_id,&g_xtl_destaddr);
#endif
if(ret >= SOC_SUCCESS)
{
g_xtl_socket_cntx.state = REQ_SENT_STATE;
result = XtlStartSocketRequest();
return TRUE;
}
else if(ret == SOC_WOULDBLOCK)
{
SetProtocolEventHandler(xtl_soc_app_socket_notify, MSG_ID_APP_SOC_NOTIFY_IND); return TRUE;
}
else
{
return FALSE;
}
#ifdef __MTK_TARGET__
ret = soc_connect((S8)g_xtl_socket_cntx.socket_id,&g_xtl_destaddr);//你这个条件编译不起作用
#else
//ret = -1;
ret = soc_connect((S8)g_xtl_socket_cntx.socket_id,&g_xtl_destaddr);//这句和上句完全相同,
//为什么要用条件编译?
#endif
if(ret >= SOC_SUCCESS)
{
g_xtl_socket_cntx.state = REQ_SENT_STATE;
result = XtlStartSocketRequest();
return TRUE;
}
else if(ret == SOC_WOULDBLOCK)//回调xtl_soc_app_socket_notify没有执行,说明ret值
// 不等于SOC_WOULDBLOCK,所以请你检查上面的ret返回值
//你两次调用soc_connect参数都相同,却用了条件编译,
//应该是有问题,是不是第二次调用soc_connect的时候参数写错了,我怀疑
{
SetProtocolEventHandler(xtl_soc_app_socket_notify, MSG_ID_APP_SOC_NOTIFY_IND);
return TRUE;
}
else
{
return FALSE;
}