Basic Protocols Jan 14 2019 Sockets Sockets or ports are a very low level software construct that allows computers to talk to one another When you send information from one computer to another you send it to a port on the receiving computer If the computer is listening on that port it receives the information In order for the computer to make sense of the information it must know what protocol is being used Common port numbers are 80 for web pages 23 for telnet and 25 and 110 for mail Port numbers above 1024 are available for other kinds of communication between our programs 2 Protocols In order for computers to communicate with one another they must agree on a set of rules a language for who says what when they say it and what format they say it in This set of rules is a protocol Different programs can use different protocols Protocols may be in ASCII characters or in binary Some common protocols are HTTP for web pages FTP for file transfer and SMTP Simple Mail Transfer Protocol 3 TCP IP The Internet and most other computer networks are connected through TCP IP networks TCP IP is actually a combination of two protocols IP Internet Protocol is used to move packets chunks of data from one place to another Places are specified by IP addresses four single byte 0 255 numbers separated by periods Example 192 168 1 1 TCP Transmission Control Protocol ensures that all necessary packets are present and puts them together in the correct order TCP IP forms a wrapper around data of any kind The data uses its own protocol for example FTP 4 Hostnames and DNS servers The real name of a computer on the internet is its four byte IP address People however don t like to remember numbers so we use hostnames instead For example the hostname www cis upenn edu is 158 130 12 9 A DNS Domain Name Server is a computer that translates hostnames into IP addresses Think of it as like a phone book names to useful numbers Of course you have to know the IP address of the DNS in order to use it You usually get two DNS numbers from your Internet Service Provider ISP 5 DHCP If you have a web site it must be hosted on a computer that is permanently on the Web If you have no permanent web site you can be given a temporary dynamically allocated IP address each time you connect to the Web Similarly if you have a home or office network only one computer needs a permanent IP address This computer must have a permanent IP address There aren t enough IP addresses for the number of computers there are these days The rest of the computers can be assigned internal permanent IP addresses not known to the rest of the world They can also be assigned internal IP addresses dynamically DHCP Dynamic Host Configuration Protocol is a way of assigning temporary IP addresses as needed 6 URLs A URL Uniform Resource Locater defines a location on the Web A URL has up to five parts http www xyz com 80 ad index html specials Anchor a location within the page Path to a given page Hostname Port 80 is default for http requests Protocol http is used for Web pages 7 ShowURL java import java net Gittleman Example 2 2 pp 6768 import java applet Applet public class ShowURL extends Applet public void init try URL url new URL getParameter url getAppletContext showDocument url catch MalformedURLException e e printStackTrace 8 About the ShowURL java applet import java net URL url new URL getParameter url An AppletContext describes the document containing this applet and the other applets in the same document showDocument url Constructs a URL object from a text string getAppletContext This is the package that defines sockets URLs etc Replaces the Web page currently being viewed with the given URL catch MalformedURLException e This exception is thrown if the given String cannot be parsed by newURL String 9 Running the applet BlueJ 1 2 3 10 Running the applet Eclipse 1 2 3 4 Choose Run Run from the menus In the left pane click on ShowURL under Java applet Click on the Parameters tab then Add or Edit parameters in this case give the url parameter some appropriate URL Run the applet in the usual way 11 Applet results If the applet is run using appletviewer you get an applet but it s blank Unless that is the page you go to has a applet on it If the applet is run using a browser First a web page appears with a gray rectangle for the applet which is just starting up Then the initial web page is replaced by the web page specified by the URL You are now in your regular browser just as if you had typed the URL into it 12 TryURL java I ShowURL java is an applet it runs in a browser gets a web page and displays it in that browser TryURL java is an application it runs standalone gets a web page and displays the HTML that it got Basic structure import java net import java io public class TryURL public static void main String args try important code goes here catch Exception e 13 TryURL java II BufferedReader input String line URL url new URL http www cis upenn edu matuszek cit5972006 input new BufferedReader new InputStreamReader url openStream line input readLine while line null System out println line line input readLine input close 14 TryURL java III TryURL just writes out the raw HTML that it receives A more complex program could use javax swing JEditorPane which can display a subset of HTML JEditorPane can also display RTF Rich Text Format 15 The End 16
View Full Document