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 <stefan.kalkowski@...1...>:
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 Genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main