Dr. Dobb's Journal - November 2008 - (Page 29) exploitable security flaws. Since, by design, there isn’t any write access to the underlying filesystem, it is unlikely the website content can be compromised. Finally, since Webster supports basic authentication, access to the website can be controlled with a username and password. Of course like any web server, Webster2 could be brought to its knees by a denial-of-service attack. Building and maintaining a website with Webster2 is easy. I compose web pages on my PC using the free nvu HTML editor (www.nvu.com). When finished, the HTML pages can be copied to an SD memory card that is subsequently moved to the server, or the pages can be FTPed to an SD memory card already in place on the server. When Webster2’s Reset button is pressed, the new or modified website becomes immediately operational. At the most basic level, any web server is just a device that understands and implements HTTP protocol; a web server doesn’t influence website content. A web server’s job is to stream requested content to a user’s browser, whether that be HTML files, image files, PDF files, MP3s, or whatever. This is important because it is the content of the served up files that may or may not be compatible with different browsers. If the website you serve with Webster2 works with Internet Explorer but not Firefox, it probably isn’t Webster2’s fault. • Eclipse-based C/C++ development environment for writing, compiling, and debugging code running on their platforms. Included are numerous example applications that you can extract code from to get your designs up and running quickly. NetBurner’s slogan is “Networking in 1 Day!” and it is absolutely true. They provide code for support of most Internet protocols, making application development almost trivial. In addition, they provide excellent customer support and have a public forum of dedicated developers that can and do help with problems. Using Webster2 Before Webster2 can go online. you must decide if static or dynamic IP addressing is to be used. Using DHCP is always easiest if your network permits it. For my website, I connect Webster2 directly to my wireless DSL router and use DHCP so the router assigns an IP address automatically. This works fine. Once your web server has a public IP address, as mentioned, you must open up the firewall in the router to allow inbound HTTP connections so users outside your network can hit your server. How this is done depends upon your firewall software. Keep in mind, in trying to host a website on a home DSL connection, the IP address assigned to your DSL router changes from time to time. This is a problem whether you are using Webster2 as your web server or a professional product like Apache. Regardless of how you access your website, when your router’s IP address changes, connectivity to your website using an old address will be lost. A solution that lets you host a DSL-connected website is a program called No-IP (www.no-ip.com). No-IP (the company) offers a free dynamic DNS and web redirection service for just this purpose. No-IP will even provide you the use of a domain name from a list of preexisting domains that you can use for free. The No-IP client program runs as a service under Windows XP. It continually monitors the public address exposed by your router for your web server and informs NoIP’s DNS servers of any changes. So as long as access to your website is via your chosen domain name, you are insulated from changes to your router’s IP address. By running No-IP on any PC in your network, access to your website is maintained even if the public IP address of your router/server changes. Pretty slick, huh? Once you register your web server host with No-IP and your server is operational, you should be able to ping your server: ping myhost.mydomain.com Networking Acronyms at Work There are a number of networking protocols that come into play in Webster2’s design. • DHCP. Webster2 can use DHCP to obtain its networking parameters (IP address, and so forth) from a DHCP server on the network to which it is attached. If DHCP isn’t used, the networking parameters can be set statically via entries in a configuration file. • DNS. DNS is like a phone book for the Internet for turning host names into IP addresses. DNS entries must be in place so that Webster2 can be found on the Internet by name. • FTP. Webster2’s software includes an FTP server that lets website content be stored on the on-board SD memory card to be updated remotely. Updates can be made using FTP client programs like FileZilla, or via the publishing mechanism of your web page design software. • HTTP. HTTP is the protocol of the WorldWide Web. HTTP is used between web browsers and web servers for information transfer. • NTP. Webster2’s software uses NTP (Network Time Protocol) for keeping its system clock accurate. • UDP. UDP (User Datagram Protocol) can be used by Webster2 to log web server accesses to a remote computer. Because Webster2 uses all of these protocols, it may be necessary to configure any firewall software you use. Most importantly, you must allow HTTP requests to pass through the firewall or Webster2 won’t be available on the Internet. This feature is called “port forwarding” in some cases. The NetBurner Development Kit The folks at NetBurner have put together a great development kit for their MOD5270 module. The kit includes everything you need to develop and test code including a: • Network-ready MOD5270 core computer module. • MOD-DEV-70 development board, which the MOD5270 plugs into containing a switching power supply, an SD memory-card socket, a real-time clock chip, two RS-232 ports, eight programmable LEDs, an 8-position dip-switch, and a Reset button. • Wall wort transformer for powering the development board. • Cables including an RS-232 cable and multiple Ethernet cables. Executing this command verifies whether myhost in the domain mydomain.com is operational or not. You would need to 29 November 2008 l www.ddj.com l Dr. Dobb’s Journal http://www.nvu.com http://www.no-ip.com http://www.ddj.com
Table of Contents Feed for the Digital Edition of Dr. Dobb's Journal - November 2008 Dr. Dobb's Journal - November 2008 Contents Friday Night Fish Fry Alia Vox Developer Diaries Developer's Notebook Saving Open Source Conversations iPhone Building Your Own Web Server Green Telnet What's New In Boost Threads? Testing Service Oriented Architectures Test Case Generation, UML, and Eclipse Unit Testing Web Services C3 Programming The Agile Edge Swaine's Flames Effective Concurrency Dr. Dobb's Journal - November 2008 Dr. Dobb's Journal - November 2008 - (Page BB1) Dr. Dobb's Journal - November 2008 - (Page BB2) Dr. Dobb's Journal - November 2008 - Dr. Dobb's Journal - November 2008 (Page Cover1) Dr. Dobb's Journal - November 2008 - Dr. Dobb's Journal - November 2008 (Page Cover2) Dr. Dobb's Journal - November 2008 - Dr. Dobb's Journal - November 2008 (Page 1) Dr. Dobb's Journal - November 2008 - Dr. Dobb's Journal - November 2008 (Page 2) Dr. Dobb's Journal - November 2008 - Dr. Dobb's Journal - November 2008 (Page 3) Dr. Dobb's Journal - November 2008 - Contents (Page 4) Dr. Dobb's Journal - November 2008 - Contents (Page 5) Dr. Dobb's Journal - November 2008 - Friday Night Fish Fry (Page 6) Dr. Dobb's Journal - November 2008 - Friday Night Fish Fry (Page 7) Dr. Dobb's Journal - November 2008 - Friday Night Fish Fry (Page 8) Dr. Dobb's Journal - November 2008 - Friday Night Fish Fry (Page 9) Dr. Dobb's Journal - November 2008 - Alia Vox (Page 10) Dr. Dobb's Journal - November 2008 - Alia Vox (Page 11) Dr. Dobb's Journal - November 2008 - Developer Diaries (Page 12) Dr. Dobb's Journal - November 2008 - Developer Diaries (Page 13) Dr. Dobb's Journal - November 2008 - Developer's Notebook (Page 14) Dr. Dobb's Journal - November 2008 - Developer's Notebook (Page 15) Dr. Dobb's Journal - November 2008 - Saving Open Source (Page 16) Dr. Dobb's Journal - November 2008 - Saving Open Source (Page 17) Dr. Dobb's Journal - November 2008 - Saving Open Source (Page 18) Dr. Dobb's Journal - November 2008 - Saving Open Source (Page 19) Dr. Dobb's Journal - November 2008 - Conversations (Page 20) Dr. Dobb's Journal - November 2008 - Conversations (Page 21) Dr. Dobb's Journal - November 2008 - iPhone (Page 22) Dr. Dobb's Journal - November 2008 - iPhone (Page 23) Dr. Dobb's Journal - November 2008 - iPhone (Page 24) Dr. Dobb's Journal - November 2008 - iPhone (Page 25) Dr. Dobb's Journal - November 2008 - iPhone (Page 26) Dr. Dobb's Journal - November 2008 - iPhone (Page 27) Dr. Dobb's Journal - November 2008 - Building Your Own Web Server (Page 28) Dr. Dobb's Journal - November 2008 - Building Your Own Web Server (Page 29) Dr. Dobb's Journal - November 2008 - Building Your Own Web Server (Page 30) Dr. Dobb's Journal - November 2008 - Building Your Own Web Server (Page 31) Dr. Dobb's Journal - November 2008 - Building Your Own Web Server (Page 32) Dr. Dobb's Journal - November 2008 - Green Telnet (Page 33) Dr. Dobb's Journal - November 2008 - Green Telnet (Page 34) Dr. Dobb's Journal - November 2008 - Green Telnet (Page 35) Dr. Dobb's Journal - November 2008 - Green Telnet (Page 36) Dr. Dobb's Journal - November 2008 - Green Telnet (Page 37) Dr. Dobb's Journal - November 2008 - Green Telnet (Page 38) Dr. Dobb's Journal - November 2008 - Green Telnet (Page 39) Dr. Dobb's Journal - November 2008 - What's New In Boost Threads? (Page 40) Dr. Dobb's Journal - November 2008 - What's New In Boost Threads? (Page 41) Dr. Dobb's Journal - November 2008 - What's New In Boost Threads? (Page 42) Dr. Dobb's Journal - November 2008 - What's New In Boost Threads? (Page 43) Dr. Dobb's Journal - November 2008 - What's New In Boost Threads? (Page 44) Dr. Dobb's Journal - November 2008 - What's New In Boost Threads? (Page 45) Dr. Dobb's Journal - November 2008 - Testing Service Oriented Architectures (Page 46) Dr. Dobb's Journal - November 2008 - Testing Service Oriented Architectures (Page 47) Dr. Dobb's Journal - November 2008 - Testing Service Oriented Architectures (Page 48) Dr. Dobb's Journal - November 2008 - Test Case Generation, UML, and Eclipse (Page 49) Dr. Dobb's Journal - November 2008 - Test Case Generation, UML, and Eclipse (Page 50) Dr. Dobb's Journal - November 2008 - Test Case Generation, UML, and Eclipse (Page 51) Dr. Dobb's Journal - November 2008 - Test Case Generation, UML, and Eclipse (Page 52) Dr. Dobb's Journal - November 2008 - Unit Testing Web Services (Page 53) Dr. Dobb's Journal - November 2008 - Unit Testing Web Services (Page 54) Dr. Dobb's Journal - November 2008 - Unit Testing Web Services (Page 55) Dr. Dobb's Journal - November 2008 - Unit Testing Web Services (Page 56) Dr. Dobb's Journal - November 2008 - Unit Testing Web Services (Page 57) Dr. Dobb's Journal - November 2008 - Unit Testing Web Services (Page 58) Dr. Dobb's Journal - November 2008 - C3 Programming (Page 59) Dr. Dobb's Journal - November 2008 - C3 Programming (Page 60) Dr. Dobb's Journal - November 2008 - C3 Programming (Page 61) Dr. Dobb's Journal - November 2008 - C3 Programming (Page 62) Dr. Dobb's Journal - November 2008 - C3 Programming (Page 63) Dr. Dobb's Journal - November 2008 - The Agile Edge (Page 64) Dr. Dobb's Journal - November 2008 - The Agile Edge (Page 65) Dr. Dobb's Journal - November 2008 - The Agile Edge (Page 66) Dr. Dobb's Journal - November 2008 - The Agile Edge (Page 67) Dr. Dobb's Journal - November 2008 - Effective Concurrency (Page 68) Dr. Dobb's Journal - November 2008 - Effective Concurrency (Page 69) Dr. Dobb's Journal - November 2008 - Effective Concurrency (Page 70) Dr. Dobb's Journal - November 2008 - Effective Concurrency (Page 71) Dr. Dobb's Journal - November 2008 - Swaine's Flames (Page 72) Dr. Dobb's Journal - November 2008 - Swaine's Flames (Page Cover3) Dr. Dobb's Journal - November 2008 - Swaine's Flames (Page Cover4)
For optimal viewing of this digital publication, please enable JavaScript and then refresh the page. If you would like to try to load the digital publication without using Flash Player detection, please click here.