Pages: 1 [2]   Go Down
Author Topic: Ethernet Shield sending byte by byte?  (Read 4123 times)
0 Members and 1 Guest are viewing this topic.
New Zealand
Offline Offline
God Member
*****
Karma: 0
Posts: 999
Arduino pebbles
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Additional information: apparently no one involved in developing the Ethernet Library has tested communications with web servers other than Apache. The library as-is will not communicate with lighttpd. Phil's modification above does allow communication, you will need to take care to render each line into a complete string before trying to println() it; multiple print() commands per line will not work.
Hmmm, that's interesting. Is that standards compliant behaviour? I would have thought it didn't matter how the bytes arrived to the server, just that they did...

--Phil.
Logged

SF Bay Area
Offline Offline
Edison Member
*
Karma: 10
Posts: 1235
Arduino Ninja
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I don't pretend to know the standards...just that Apache tends to be way more forgiving than some other servers. I ran into another problem with lighttpd on an unrelated (XPort) issue. In that case, the AF_XPort library was definitely doing something wrong, but Apache would ignore it.

I have gone on to test lighttpd a little more, and while it definitely didn't work at one byte per packet, it seems to work with at least a few bytes per packet. Have not determined the lower limit, but several chunks per line seems to work.
Logged

Unique RGB LED Modules and Arduino shields: http://www.macetech.com/store

0
Offline Offline
Faraday Member
**
Karma: 7
Posts: 2526
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Since an IP network can fragment packets enroute (e.g. if an intermediary network has a smaller MTU than the originator), it seems to me that any server that can't deal with fragmented packets is broken.

The arduino ethernet code does need some work in this area (and that seems to be taking place), but I don't think we can blame this one on the arduino.

-j

Logged

SF Bay Area
Offline Offline
Edison Member
*
Karma: 10
Posts: 1235
Arduino Ninja
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Well, lighttpd works fine with all the web browsers and runs huge installations, like Sourceforge, Youtube, Wikipedia, Myspace, Imageshack, etc. Arduino is the hack here, not lighttpd, so I'm inclined to blame us first.

I'll do more testing and try to narrow the exact cause of the problem, it may have even been my code at the time and maybe I fixed two things at once.
Logged

Unique RGB LED Modules and Arduino shields: http://www.macetech.com/store

0
Offline Offline
Newbie
*
Karma: 0
Posts: 23
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I'm having similar problems with Apache, I tried it on multiple servers, no luck..

I managed to use your client.status() to track down part of the problem, see this topic:

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1238295170
Logged

Munich (Germany)
Offline Offline
Newbie
*
Karma: 0
Posts: 1
Arduino is cool :)
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

If someone needs an ugly workaround, without touching the libraries - just use a proxy smiley
Logged

Check out my Arduino devices [link=http://www.zipfelmaus.com/blog/tag/arduino/]here[/link]

Pages: 1 [2]   Go Up
Jump to: