S3C44B0X在嵌入式Socket通信系统中的应用
if ((s = socket(AF_
INET,SOCK_STREAM,0)) 0){
perror ("socket");
exit (1);
}
bzero (addr,sizeof (addr));
addr.sin_family = AF_INET;
addr.sin_port=htons((unsigned short)atoi(argv[2]));
hp = gethostbyname(argv[1]);
memcpy(local_addr.sin_addr.s_addr,hp->h addr,4);
in.s_addr = local_addr.sin_addr.s_addr;
printf ("Domain Name %sn" argv
printf ("IP address :%sn",inet_ntoa (in));
printf("%s,%sn",hp->h_name,argv[2]);
addr.sin_addr.s_addr=inet_addr(hp->h_name);
if connect(s,(struct sockaddr *)addr,sizeof (addr))0){
perror ("connect");
exit (1);
}
recv (s,buffer,sizeof (buffer),0);
printf ("%sn",buffer);
while(1);
bzero(buffer,sizeof (buffer));
read (STDIN_FILENO,buffer,sizeof(buffer));
if (send (s,buffer,sizeof (buffer),0)0){
perror ("send");
exit (1);
}
}
}
4 结束语
设计开发了基于S3C44B0X的以太网通信系统,并利用uClinux操作系统强大的网络功能实现了Socket通信?由于uClinux目前只支持flat格式的可执行文件,因此本设计是在先建立好uClinux开发环境的情况下,把用户自行开发的应用程序通过宿主PC机上的交叉编译器转化为flat格式,然后再通过FTP添加到目标硬件开发平台上运行的?文中的客户端应用程序已经在基于ARM7TDMI核的S3C44B0X处理器的嵌入式开发平台上成功运行,并成功地和宿主PC机的服务器端应用程序实现了Socket通信?当然,也可以把目标硬件开发平台当作服务器端,而把宿主PC机当作客户端来进行双向文件传输?
加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码