Telit http issue

Hi guys,

using a Telit GM862-QUAD PY with selint=1 I try to connect to a server using:

at#SKTD=0,80,“www.sparkfun.com”,255

< CONNECT

(The 255 in the end should tell the modem that the connection will be kept until I send +++)

So, I try to do a GET request, e.g:

GET / HTTP/1.1

Host: http://www.sparkfun.com

And I get the expected response from the server, however when I try to do the next GET request, all I get is “NO CARRIER”

I’ve even tried to add

Connection: keep-alive

to the GET requests (even though they should not be needed with HTTP/1.1).

Can anybody explain how I can get a GM862 HTTP session to last longer than one command?

Kind regards,

Michael Thomsen

First of all, The remote update software includes both Python (unit side) and PHP (server side) components allowing updating of Telit modules in the field. It utilises HTTP meaning a simpler deployment (FTP server is not required). It supports a range of features including multiple software types, multiple versions, and authentication.

Each time you open a socket, you have to define the specific socket parameters (server ip, port number, etc). Once you have opened the socket, in my experience, you can only send one http request/socket. Once you receive the response to your request, and receive NO CARRIER, you will be able to open a new socket (after setting any parameters you need to change), and send another request.

I’d try accessing the sparkfun.com site using a browser with Wireshark/Ethereal and see what’s in their GET request. also try another site, as it may kick off unknown browsers.

I am also using the GM862 for .NET Micro Framework as we speak, SMS complete, HTTP Complete, now working on FTP (www.earthed.net.au)

C#:

sCmd = “AT#SKTD=0,”+iPort.ToString()+“,"” + sDomain + “",0,0\r”;

possible responses: {CONNECT,NO CARRIER,+CME RRROR}

sHTTP_METHOD = “GET”;

sUriEncoded = HttpUtility.UriEncode(sUri); <<<<<<<< This caught me out (e.g. " " ->“%20”)

sCmd = sHTTP_METHOD + " " + sMvcMethod + sUriEncoded + " " + sVersion + “\r\n”;

sCmd = "Host: " + sHost + “\r\n”;

sCmd = “Connection: keep-alive\r\n”;

sCmd = “\r\n”;

A Socket is an End-Point of To and From (Bidirectional) communication link between two programs running on the same network . basics of socket … http://csharp.net-informations.com/comm … amming.htm Once you receive the response to your request, and receive NO CARRIER, you will be able to open a new socket and send another request.

Bikitha.