在线时间32 小时
UID3094955
注册时间2015-2-9
NXP金币0
该用户从未签到
中级会员
 
- 积分
- 298
- 最后登录
- 2015-7-21
|

楼主 |
发表于 2015-3-27 17:05:31
|
显示全部楼层
我这里还有一个问题,我现在用socket进行通信实验,下面是代码:
int main(void)
#endif
{
ip_addr_t fsl_netif0_ipaddr, fsl_netif0_netmask, fsl_netif0_gw;
int s;
int ret;
struct sockaddr_in addr;
int err;
memset(&addr, 0, sizeof(addr));
addr.sin_len = sizeof(addr);
addr.sin_family = AF_INET;
addr.sin_port = PP_HTONS(SOCK_TARGET_PORT);
addr.sin_addr.s_addr = inet_addr(SOCK_TARGET_HOST);
app_low_level_init();
OSA_Init();
lwip_init();
IP4_ADDR(&fsl_netif0_ipaddr, 192,168,2,102);
IP4_ADDR(&fsl_netif0_netmask, 255,255,255,0);
IP4_ADDR(&fsl_netif0_gw, 192,168,2,100);
netif_add(&fsl_netif0, &fsl_netif0_ipaddr, &fsl_netif0_netmask, &fsl_netif0_gw, NULL, ethernetif_init, ethernet_input);
netif_set_default(&fsl_netif0);
netif_set_up(&fsl_netif0);
/* create the socket */
s = lwip_socket(AF_INET, SOCK_STREAM, 0);
LWIP_ASSERT("s >= 0", s >= 0);
for(;;)
{
/* connect */
ret = lwip_connect(s, (struct sockaddr*)&addr, sizeof(addr));
/* should succeed */
LWIP_ASSERT("ret == 0", ret == 0);
/* write something */
ret = lwip_write(s, "test", 4);
LWIP_ASSERT("ret == 4", ret == 4);
/* close */
ret = lwip_close(s);
LWIP_ASSERT("ret == 0", ret == 0);
}
}
现在的问题是 s 的返回值一直是-1,我上网找了找其他关于socket编程做client的例子,看不出来函数调用有哪些不对的地方,所以是不是程序里面有哪些初始化没有完成?求大神解答下 |
|