导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→移植uip到arm上,实现http协议时,浏览器里面只出现了[anfengmz]

 *第37227篇: 移植uip到arm上,实现http协议时,浏览器里面只出现了标题,没有图象

  
楼 主:anfengmz 2006年1月17日09:31
 移植uip到arm上,实现http协议时,浏览器里面只出现了标题,没有图象
移植uip到arm上,实现http协议时,浏览器里面只出现了标题,没有图象。
我看了一下程序,arm与PC机三次握手后,PC向arm发送http请求,arm向PC机传送了419字节的内容,这时PC机浏览器的标题栏显示了一个标题。然后,PC机向arm发送TCP请求信息(62字节), arm却不响应了,这是什么问题呢?大家帮帮我!
  
2楼:whitegjh 2006年1月17日14:05
 hi
我在做跟你一样的事情,可以跟你mail交流吗?
ggjh6@163.com
  
3楼:whitegjh 2006年1月17日14:16
 我也在调试uIP的httpd
我的浏览器一直处于连接状态,页面访问不了。
抓包如下:
No.     Time        Source                Destination           Protocol Info
1 0.000000    192.168.10.34         192.168.10.35         TCP      1958 >   http [SYN] Seq=0 Ack=0 Win=53760 Len=0 MSS=1460 WS=3 TSV=0 TSER=0

2 0.026486    192.168.10.35         192.168.10.34         TCP      http >   1958 [SYN, ACK] Seq=0 Ack=1 Win=32768 Len=0 MSS=1446

3 0.026522    192.168.10.34         192.168.10.35         TCP      1958 >   http [ACK] Seq=1 Ack=1 Win=65535 [TCP CHECKSUM INCORRECT] Len=0

4 0.026733    192.168.10.34         192.168.10.35         HTTP     GET / HTTP/1.1

5 0.093406    192.168.10.35         192.168.10.34         HTTP     GET /\000HTTP/1.1

6 3.267224    192.168.10.34         192.168.10.35         HTTP     [TCP Out-Of-Order] GET / HTTP/1.1

7 3.300382    192.168.10.35         192.168.10.34         TCP      http >   1958 [ACK] Seq=1 Ack=394 Win=32768 Len=0

三次握手已经成功,之后,client发送一个http request, server端就把request原样返回了,应该是这里出了问题,我不能确定,server本应该先返回一个TCP ACK报文,然后再传http response数据的。

我们可以mail讨论一下,ggjh6@163.com

  
4楼:anfengmz 2006年1月17日19:11
 uip返回的应该是http:// 2000 OK,
你也用的arm吗?我这里有一个KEIL的移植程序,你对照一下。我想你的问题可能是出在驱动程序上,因为arm的存储器格式太变态了。
  
5楼:whitegjh 2006年1月18日10:13
 那应该返回tcp ack吗?
是ARM。
uip应该返回http/1.0 200 ok呢,还是TCP ACK?
驱动程序就只负责收发数据啊,我在uip里面插调试程序,数据都已经传到uip里了,处理好后,打印出来,就已经出问题了,应该是uip的处理问题。
讨厌的是我用的是芯片厂商的解决方案,驱动都被封装了,我只能用他们收发frame的API来与uip接口。

还有个TCP的问题,“Delayed Acknoledgements”怎么理解?“ACK与需要沿该方向发送的数据一起发送”,那是作为同一个segment发送?还是两个独立的segment?

你的问题解决了吗?你的比我进一步了,还能看到标题了:)

  
6楼:anfengmz 2006年1月18日16:21
 re
TCP的问题我也不清楚,不过你的问题我想可能是驱动程序的问题吧,UIP确实把数据处理好了,但是处理好的数据没放到UIP—BUF里,你驱动程序发的是UIP-BUF的数据,UIP-BUF里放的是你接收的数据,你发送UIP-BUF当然是原样返回了。你仔细看看UIP。C,看看是不是有另外一个指针叫UIP-APPDATA的?
  
7楼:whitegjh 2006年1月18日17:42
 谢谢,应该是的
有可能是的,就是说要发送uip_buf+uip_appdata,我就发送了uip_buf

应该是uip_sappdata吧?uip_appdata放接收到的app的数据,app处理后要发送的数据都放在uip_sappdata里

  
8楼:whitegjh 2006年1月19日15:45
 你解决了吗?
我现在是跟你一样的问题了,只显示了个标题,页面不显示,我看里面自带的html文件首页用的是frame,不知道哪里出问题了
  
9楼:anfengmz 2006年1月20日10:20
 re
我可是很辛苦才查到原因的,不能轻易告诉你。
  
10楼:whitegjh 2006年1月20日13:01
 你拽
还是自己解决吧,不信我就解决不了了。
  
11楼:whitegjh 2006年1月20日14:59
 那要怎样才能告诉我?
大家互相帮忙嘛,我不信你就没难题的时候
  
12楼:anfengmz 2006年1月22日17:08
 你解决了吗?
这几天忙别的事情,没有上来
  
13楼:whitegjh 2006年1月23日10:22
 还没呢
没有啊,郁闷着呢
  
14楼:whitegjh 2006年1月24日16:10
 能告诉我啊?
实在是么法啦,行行好吧
  
15楼:whitegjh 2006年1月27日09:30
 解决了
终于解决了:)

>>>>>>对该主题发表你的看法

本主题贴数15,分页: [第1页]


[上一篇主题]:求助

[下一篇主题]:请教C52控制RTL8019AS无法正常发送数据包的问题