嵌入式linux网络编程的问题
我在进行嵌入式linux的socket编程时出现了这样的一个问题
开始的时候service和client都在电脑上运行的时候测试没任何问题,可是把client下载到电路板上和电脑进行通信的时候就出问题了。
传输的包中的short型数据都出问题了,高8位和低8位都交换了。电脑上的1传输到板子上后都成了256.
我觉得这和数据存储的优先顺序有关系。
service()
{......
/*set sockaddr_in founctions*/
saddr.sin_family=AF_INET;
saddr.sin_port=htons(SERVPORT); //用的是htons
saddr.sin_addr.s_addr=INADDR_ANY;
bzero(&(saddr.sin_zero),8);
......
}
client()
{......
saddr.sin_family=AF_INET;
saddr.sin_port=htons(SERVPORT); //用的是htons
saddr.sin_addr = *((struct in_addr *)host->h_addr);
bzero(&(saddr.sin_zero),8);
.......
}
我把两边的htons改成ntohs也没用。
请问是什么问题?