Stefan, Sorry, I should have mentioned more specifically what i was after. So, i was referring to the http_server_serve function in the http server code, whereby upon receiving a HTTP request, the struct netconn variable (conn) seems to store IP addresses which I think refer to the IP address that the HTTP request will be sent back to. In following the struct netconn variable, I noticed two IP addresses are stored: a local IP, and a remote IP. I discovered this via the following code that I added:
addr = conn->pcb.ip->remote_ip.addr (remote_ip can be replaced by local_ip) I was wondering what the purpose of the remote_ip and local_ip variables were? Am i right in saying that remote_ip refers to the machine that performed the HTTP request? Thanks Peter Quoting Stefan Kalkowski <[email protected]>: > On Monday, 1. March 2010 05:30:27 Peter Nguyen wrote: > > Hi, > > Hi Peter, > > > > > In digging to the HTTP server functionality, I noticed that with IP > > address, data is stored for local and remote IP addresses. I gather > > remote IPs refer to the machines making the requests. Does the local IP > > refer to the HTTP server itself?? > > Well, I'm not sure what code you refer to: the actual HTTP server example > code, or something in the LwIP libary? Moreover, I'm not sure, whether I got > you right. > > If you talk about the HTTP server example code, there are 2 locations where > a 'sockaddr' is used, the one representing the address of the http server, so > to say the local IP (refering to the HTTP server): > > libports/src/test/lwip/http_srv/main.cc:89 > struct sockaddr_in in_addr; > in_addr.sin_family = AF_INET; > in_addr.sin_port = htons(80); > in_addr.sin_addr.s_addr = INADDR_ANY; > if(lwip_bind(s, (struct sockaddr*)&in_addr, sizeof(in_addr))) { > ... > > and one which is used to accept client connections, that will contain the > address of the client, after a successful accept: > > libports/src/test/lwip/http_srv/main.cc:106 > struct sockaddr addr; > socklen_t len = sizeof(addr); > int client = lwip_accept(s, &addr, &len); > ... > > Does this clarify your question? > > regards Stefan > > PS: I refer to the example code of our last release 10.02 > > -- > Stefan Kalkowski > Genode Labs Developer > http://genode-labs.com > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > Genode-main mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/genode-main > ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Genode-main mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/genode-main
