打印

周立功ARM嵌入式实验教程5.5TCP通信实验问题

[复制链接]
1576|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jesmin|  楼主 | 2010-10-25 20:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void TaskE(void *pdata)
{
uint8 Temp=0;
uint16 TempLength;
int addrlen;
int ei;
unsigned char  ip_add[4]={169,254,160,218};
uint8 tempdata[400];
//uint8 err;  
SOCKET s;
struct sockaddr servaddr,cliaddr;
  Arp_Request(ip_add,0);
  OSTimeDly(60);
  servaddr.sin_family=0;
  servaddr.sin_addr[0]=NetPort[0].My_Ip[0];
  servaddr.sin_addr[1]=NetPort[0].My_Ip[1];
  servaddr.sin_addr[2]=NetPort[0].My_Ip[2];
  servaddr.sin_addr[3]=NetPort[0].My_Ip[3];
  servaddr.sin_port=80;
  s=*socket( 0, 0, 0);
  ei=bind( (SOCKET * )&s, (struct sockaddr*)&servaddr,sizeof(servaddr));
  ei=listen( (SOCKET * )&s, 4 );
  if(ei!=4)
   while(1);
while (1)
    {
  Temp=accept( (SOCKET * )&s, (struct sockaddr*)&cliaddr,&addrlen );
  if(Temp!=0xff)
  {
   TempLength=recv( Temp,tempdata ,400, 0 );
   if(tempdata[5]==' ')
   {
    send( Temp,httpweb ,169, 0 );
    OSTimeDly(10);
    send( Temp,web ,395, 0 );
   }
   else if(tempdata[5]=='1')
   {
    send( Temp, httpgif,169, 0 );
    OSTimeDly(10);
    send( Temp,bmp ,442, 0 );
   }
   memset(tempdata, 0,400);
   OSTimeDly(20);
   close(Temp);
  }
    }   
请问:tempdata[5]的值怎么来的?pc机只给服务器发了HTTP地址,tempdata收到的是什么啊?小弟初学,菜鸟,望大侠指教。
}

相关帖子

沙发
jesmin|  楼主 | 2010-10-25 21:07 | 只看该作者
没人回答?.........

使用特权

评论回复
板凳
jesmin|  楼主 | 2010-10-25 21:31 | 只看该作者
PC机只发送了IP地址啊,难道还有其他的数据,HTTP协议?

使用特权

评论回复
地板
jesmin|  楼主 | 2010-10-25 21:44 | 只看该作者
为凑齐20分,不得不灌水

使用特权

评论回复
5
jesmin|  楼主 | 2010-10-27 15:34 | 只看该作者
经过对源程序的数次摧残,发现不管怎么修改结果都一样,郁闷了.......

使用特权

评论回复
6
jesmin|  楼主 | 2010-10-27 22:19 | 只看该作者
纠结了数天终于明白了,原来是http协议的原因。

使用特权

评论回复
7
jesmin|  楼主 | 2010-10-27 22:30 | 只看该作者
不给力啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

9

帖子

0

粉丝