client-side scripting "socket to me!the preceding introduced internet fundamentals and explored sockets--the underlying communications mechanism over which bytes flow on the net in this we climb the encapsulation hierarchy one level and shift our focus to python tools that support the client-side interfaces of common internet protocols we talked about the internet' higher-level protocols in the abstract at the start of the preceding and you should probably review that material if you skipped over it the first time around in shortprotocols define the structure of the conversations that take place to accomplish most of the internet tasks we're all familiar with--reading emailtransferring files by ftpfetching web pagesand so on at the most basic levelall of these protocol dialogs happen over sockets using fixed and standard message structures and portsso in some sense this builds upon the last but as we'll seepython' protocol modules hide most of the underlying details--scripts generally need to deal only with simple objects and methodsand python automates the socket and messaging logic required by the protocol in this we'll concentrate on the ftp and email protocol modules in pythonand we'll peek at few others along the way (nntp newshttp web pagesand so onbecause it is so prevalentwe will especially focus on email in much of this as well as in the two to follow--we'll use tools and techniques introduced here in the larger pymailgui and pymailcgi client and server-side programs of and all of the tools employed in examples here are in the standard python library and come with the python system all of the examples here are also designed to run on the client side of network connection--these scripts connect to an already running server to request interaction and can be run from basic pc or other client device (they require only server to converse withand as usualall the code here is also designed to teach us something about python programming in general--we'll refactor ftp examples and package email code to show object-oriented programming (oopin action