📄 j-chat-2-3.html
字号:
var bottomnextout=new Image(60,15); var topnextsectionover=new Image(108,15); var topnextsectionout=new Image(108,15); var bottomnextsectionover=new Image(108,15); var bottomnextsectionout=new Image(108,15); menu1over.src="imagemaster/himenu1.jpg"; menu1out.src="imagemaster/menu1.jpg"; menu2over.src="imagemaster/himenu2.jpg"; menu2out.src="imagemaster/menu2.jpg"; menu3over.src="imagemaster/himenu3.jpg"; menu3out.src="imagemaster/menu3.jpg"; menu4over.src="imagemaster/himenu4.jpg"; menu4out.src="imagemaster/menu4.jpg"; menu5over.src="imagemaster/himenu5.jpg"; menu5out.src="imagemaster/menu5.jpg"; menu6over.src="imagemaster/himenu6.jpg"; menu6out.src="imagemaster/menu6.jpg"; menu7over.src="imagemaster/himenu7.jpg"; menu7out.src="imagemaster/menu7.jpg"; menu8over.src="imagemaster/himenu8.jpg"; menu8out.src="imagemaster/menu8.jpg"; menu9over.src="imagemaster/himenu9.jpg"; menu9out.src="imagemaster/menu9.jpg"; menu10over.src="imagemaster/himenu10.jpg"; menu10out.src="imagemaster/menu10.jpg"; menu11over.src="imagemaster/himenu11.jpg"; menu11out.src="imagemaster/menu11.jpg"; menu12over.src="imagemaster/himenu12.jpg"; menu12out.src="imagemaster/menu12.jpg"; var mainblurb="Main menu"; var sectionblurb="Section menu"; var feedbackblurb="Give feedback on this tutorial"; var previousblurb="Go to previous panel"; var nextblurb="Go to next panel"; var nextsectionblurb="Go to next section"; topmainover.src="../i/h-main.gif"; topmainout.src="../i/main.gif"; bottommainover.src="../i/h-main.gif"; bottommainout.src="../i/main.gif"; topsectionover.src="../i/h-section.gif"; topsectionout.src="../i/section.gif"; bottomsectionover.src="../i/h-section.gif"; bottomsectionout.src="../i/section.gif"; topfeedbackover.src="../i/h-feedback.gif"; topfeedbackout.src="../i/feedback.gif"; bottomfeedbackover.src="../i/h-feedback.gif"; bottomfeedbackout.src="../i/feedback.gif"; toppreviousover.src="../i/h-previous.gif"; toppreviousout.src="../i/previous.gif"; bottompreviousover.src="../i/h-previous.gif"; bottompreviousout.src="../i/previous.gif"; topnextover.src="../i/h-next.gif"; topnextout.src="../i/next.gif"; bottomnextover.src="../i/h-next.gif"; bottomnextout.src="../i/next.gif"; topnextsectionout.src="../i/nextsection.gif"; topnextsectionover.src="../i/h-nextsection.gif"; bottomnextsectionout.src="../i/nextsection.gif"; bottomnextsectionover.src="../i/h-nextsection.gif"; } function iOut(image) { if (browser=="N3")document[image].src=eval(image + "out.src"); } function iOver(image) { if (browser=="N3")document[image].src=eval(image + "over.src"); } // --></script><script src="../i/emailfriend.js" language="javascript"></script><a href="#navskip"><img border="0" alt="Skip to main content" src="http://www.ibm.com/i/c.gif"></a><table cellpadding="0" cellspacing="0" border="0" width="100%"><tr bgcolor="#006699"><td width="300"><table cellpadding="0" cellspacing="0" border="0" width="300"><tr bgcolor="#006699"><td width="150"><img height="25" width="150" alt="IBM" src="../i/mast_logo.gif"></td><td background="../i/mgradient.gif" width="150"><font face="Verdana, sans-serif" color="#99ccff" size="-2"><b> </b></font><br><img alt="" height="1" width="150" src="http://www.ibm.com/i/c.gif"></td></tr></table></td><td width="300" align="left"><table cellpadding="0" cellspacing="0" border="0" width="300"><tr><td width="100"><a href="http://www.ibm.com/shop1/"><img alt="Shop" height="25" width="100" src="../i/shopibm.gif" border="0"></a></td><td width="100"><a href="http://www.ibm.com/support/"><img alt="Support" height="25" width="100" src="../i/support.gif" border="0"></a></td><td width="100"><a href="http://www.ibm.com/download/"><img alt="Downloads" height="25" width="100" src="../i/downloads.gif" border="0"></a></td></tr></table></td></tr></table><table cellpadding="0" cellspacing="0" border="0" width="100%"><tr bgcolor="#000000"><td><table cellpadding="0" cellspacing="0" border="0" width="600"><tr><td width="150" bgcolor="#006699"><img alt="" height="21" width="150" src="../i/mast_lnav_sp.gif"></td><td bgcolor="#000000" colspan="4"><table height="21" cellpadding="0" cellspacing="0" border="0"><tr><td align="center" width="79" bgcolor="#000000" height="21"><a href="http://www.ibm.com/home/" style="color: #ffffff;" class="nav"><font face="Verdana, sans-serif" color="#ffffff" size="-2"><b>IBM Home</b></font></a></td><td width="1" bgcolor="#959595"><img alt="" height="1" width="1" src="http://www.ibm.com/i/c.gif"></td><td align="center" width="74" bgcolor="#000000" height="21"><a href="http://www.ibm.com/products/" style="color: #ffffff;" class="nav"><font face="Verdana, sans-serif" color="#ffffff" size="-2"><b>Products</b></font></a></td><td width="1" bgcolor="#959595"><img alt="" height="1" width="1" src="http://www.ibm.com/i/c.gif"></td><td align="center" width="81" bgcolor="#000000" height="21"><a href="http://www.ibm.com/services/" style="color: #ffffff;" class="nav"><font face="Verdana, sans-serif" color="#ffffff" size="-2"><b>Consulting</b></font></a></td><td width="1" bgcolor="#959595"><img alt="" height="1" width="1" src="http://www.ibm.com/i/c.gif"></td><td align="center" width="81" bgcolor="#000000" height="21"><a href="http://www.ibm.com/solutions/" style="color: #ffffff;" class="nav"><font face="Verdana, sans-serif" color="#ffffff" size="-2"><b>Industries</b></font></a></td><td width="1" bgcolor="#959595"><img alt="" height="1" width="1" src="http://www.ibm.com/i/c.gif"></td><td align="center" width="57" bgcolor="#000000" height="21"><a href="http://www.ibm.com/news/" style="color: #ffffff;" class="nav"><font face="Verdana, sans-serif" color="#ffffff" size="-2"><b>News</b></font></a></td><td width="1" bgcolor="#959595"><img alt="" height="1" width="1" src="http://www.ibm.com/i/c.gif"></td><td align="center" width="78" bgcolor="#000000" height="21"><a href="http://www.ibm.com/ibm/" style="color: #ffffff;" class="nav"><font face="Verdana, sans-serif" color="#ffffff" size="-2"><b>About IBM</b></font></a></td></tr></table></td></tr></table></td></tr></table><TABLE border="0" cellpadding="0" cellspacing="0" width="100%"><TR><TD width="150" height="1" bgcolor="#ffffff"><IMG alt="" height="1" width="150" src="http://www.ibm.com/i/c.gif"></TD></TR><TR><TD width="150" height="3" bgcolor="#cc6633"><IMG alt="" height="3" width="150" src="http://www.ibm.com/i/c.gif"></TD></TR><TR><TD width="150" height="1" bgcolor="#333333"><IMG alt="" height="1" width="150" src="http://www.ibm.com/i/c.gif"></TD></TR><TR><TD width="150" height="1" bgcolor="#000000"><IMG alt="" height="1" width="150" src="http://www.ibm.com/i/c.gif"></TD></TR></TABLE><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td><font face="Verdana, sans-serif" size="-1"><a href="http://www.ibm.com/">IBM</a> : <a href="http://www.ibm.com/developer/">developerWorks</a> : <a href="http://www.ibm.com/developer/java/">Java</a> : <a href="http://www-105.ibm.com/developerworks/education.nsf/dw/java-onlinecourse-bytitle">Education - online courses</a></font><br x="7"><img src="imagemaster/masthead.jpg" alt="Building a Java chat server"></td><td width="*" valign="bottom" align="right"><a border="0" href="j-chat.zip"><img alt="Download tutorial zip file" border="0" src="../i/icon-zip.gif"></a><a border="0" href="j-chat-ltr.pdf"><img alt="View letter-sized PDF file" border="0" src="../i/icon-pdf-ltr.gif"></a><a border="0" href="j-chat-a4.pdf"><img alt="View A4-sized PDF file" border="0" src="../i/icon-pdf-a4.gif"></a><a href="javascript:void newWindow()" border="0"><img alt="E-mail this tutorial to a friend" border="0" src="../i/icon-email.gif"></a></td></tr><tr><td height="2" colspan="2"><img height="2" width="1" src="http://www.ibm.com/i/c.gif"></td></tr></table><TABLE border="0" cellpadding="0" cellspacing="0" width="100%"><TR><TD width="150" height="1" bgcolor="#000000" colspan="6"><IMG alt="" height="1" width="150" src="http://www.ibm.com/i/c.gif"></TD></TR><TR><TD background="../i/sw-gold.gif"><a border="0" href="index.html" onMouseOver="iOver('topmain'); iOver('bottommain'); self.status=mainblurb; return true;" onMouseOut="iOut('topmain'); iOut('bottommain'); self.status=''; return true;"><img alt="Main menu" border="0" src="../i/main.gif" name="topmain"></a></TD><TD background="../i/sw-gold.gif"><a border="0" onMouseOver="iOver('topsection'); iOver('bottomsection'); self.status=sectionblurb; return true;" onMouseOut="iOut('topsection'); iOut('bottomsection'); self.status=''; return true;" href="index2.html"><img alt="Section menu" border="0" src="../i/section.gif" name="topsection"></a></TD><TD background="../i/sw-gold.gif"><a border="0" onMouseOver="iOver('topfeedback'); iOver('bottomfeedback'); self.status=feedbackblurb; return true;" onMouseOut="iOut('topfeedback'); iOut('bottomfeedback'); self.status=''; return true;" href="j-chat-11-3.html"><img alt="Give feedback on this tutorial" border="0" src="../i/feedback.gif" name="topfeedback"></a></TD><TD width="100%" background="../i/sw-gold.gif"><img src="http://www.ibm.com/i/c.gif"></TD><TD background="../i/sw-gold.gif"><a border="0" onMouseOver="iOver('topprevious'); iOver('bottomprevious'); self.status=previousblurb; return true;" onMouseOut="iOut('topprevious'); iOut('bottomprevious'); self.status=''; return true;" href="j-chat-2-2.html"><img alt="Previous" border="0" src="../i/previous.gif" name="topprevious"></a></TD><TD background="../i/sw-gold.gif"><a border="0" onMouseOver="iOver('topnext'); iOver('bottomnext'); self.status=nextblurb; return true;" onMouseOut="iOut('topnext'); iOut('bottomnext'); self.status=''; return true;" href="j-chat-2-4.html"><img alt="Next" border="0" src="../i/next.gif" name="topnext"></a></TD></TR></TABLE><table bgcolor="ffffff" cellspacing="0" cellpadding="2" border="0" height="400" width="100%"><tr valign="bottom"><a name="navskip"></a><td height="25" colspan="4"><img border="0" height="25" width="562" src="imagemaster/titlebar2.jpg" alt="2. Introduction"></td></tr><tr><td bgcolor="ffffff" width="15"> </td><td bgcolor="ffffff" width="12"> </td><td valign="top" align="left" bgcolor="ffffff" width="*"><p><br x="7"><table cellspacing="0" cellpadding="0" border="0"><tr><td width="90%"><font size="4" face="Verdana, Arial, Helvetica"><b>Why create from scratch?</b></font></td><td width="200" align="right"><font size="1" face="Verdana, Arial, Helvetica"><nobr> page 3 of 5</nobr></font></td></tr></table><br x="7"><br x="7"></p><font size="2" face="Verdana, Arial, Helvetica"><p>In creating this prototype server, we'll be using nothing more than
the basic packages built into every Java implementation. This allows
us to explore server programming at the very lowest level possible in
the Java language.</p><p>There are certainly many systems available that can take care of many
of these networking details for you. In many cases, the best
real-world solution is to use an existing framework, because it
often provides useful features such as fault-tolerance, load-balancing,
and sessioning.</p><p>It is, nevertheless, crucial to understand how these things
work at the lowest level. No existing solution is perfect for all
problems, and existing solutions often have minor flaws that your code must
work around. Simply choosing the right
pre-packaged solution takes a discriminating eye that has been
educated as to the tradeoffs inherent in various techniques.</p><br x="7"></font></td></tr></table><TABLE border="0" cellpadding="0" cellspacing="0" width="100%"><TR><TD background="../i/sw-gold.gif"><a border="0" href="index.html" onMouseOver="iOver('topmain'); iOver('bottommain'); self.status=mainblurb; return true;" onMouseOut="iOut('topmain'); iOut('bottommain'); self.status=''; return true;"><img alt="Main menu" border="0" src="../i/main.gif" name="bottommain"></a></TD><TD background="../i/sw-gold.gif"><a border="0" onMouseOver="iOver('topsection'); iOver('bottomsection'); self.status=sectionblurb; return true;" onMouseOut="iOut('topsection'); iOut('bottomsection'); self.status=''; return true;" href="index2.html"><img alt="Section menu" border="0" src="../i/section.gif" name="bottomsection"></a></TD><TD background="../i/sw-gold.gif"><a border="0" onMouseOver="iOver('topfeedback'); iOver('bottomfeedback'); self.status=feedbackblurb; return true;" onMouseOut="iOut('topfeedback'); iOut('bottomfeedback'); self.status=''; return true;" href="j-chat-11-3.html"><img alt="Give feedback on this tutorial" border="0" src="../i/feedback.gif" name="bottomfeedback"></a></TD><TD width="100%" background="../i/sw-gold.gif"><img src="http://www.ibm.com/i/c.gif"></TD><TD background="../i/sw-gold.gif"><a border="0" onMouseOver="iOver('topprevious'); iOver('bottomprevious'); self.status=previousblurb; return true;" onMouseOut="iOut('topprevious'); iOut('bottomprevious'); self.status=''; return true;" href="j-chat-2-2.html"><img alt="Previous" border="0" src="../i/previous.gif" name="bottomprevious"></a></TD><TD background="../i/sw-gold.gif"><a border="0" onMouseOver="iOver('topnext'); iOver('bottomnext'); self.status=nextblurb; return true;" onMouseOut="iOut('topnext'); iOut('bottomnext'); self.status=''; return true;" href="j-chat-2-4.html"><img alt="Next" border="0" src="../i/next.gif" name="bottomnext"></a></TD></TR><TR><TD width="150" height="1" bgcolor="#000000" colspan="6"><IMG alt="" height="1" width="150" src="http://www.ibm.com/i/c.gif"></TD></TR></TABLE><TABLE cellpadding="0" cellspacing="0" border="0"><TR><TD width="182"><TABLE cellpadding="0" cellspacing="0" border="0" width="182"><TR bgcolor="#000000"><TD align="center" width="60" class="mast"><a style="text-decoration: none; color: #ffffff;" class="nav" href="http://www.ibm.com/privacy/"><font face="Arial, Verdana" size="2">Privacy</font></a></TD><TD width="1" bgcolor="#959595"><img alt="" border="0" height="20" width="1" src="http://www.ibm.com/i/c.gif"></TD><TD align="center" width="60" class="mast"><a style="text-decoration: none; color: #ffffff;" class="nav" href="http://www.ibm.com/legal/"><font face="Arial, Verdana" size="2">Legal</font></a></TD><TD width="1" bgcolor="#959595"><img alt="" border="0" height="20" width="1" src="http://www.ibm.com/i/c.gif"></TD><TD align="center" width="60" class="mast"><a style="text-decoration: none; color: #ffffff;" class="nav" href="http://www.ibm.com/contact/"><font face="Arial, Verdana" size="2">Contact</font></a></TD><TD width="1" bgcolor="#959595"><img alt="" border="0" height="21" width="1" src="http://www.ibm.com/i/c.gif"></TD></TR><TR bgcolor="#ffffff"><TD><img alt="" border="0" height="1" width="1" src="http://www.ibm.com/i/c.gif"></TD></TR></TABLE></TD><TD width="100%"><TABLE cellpadding="0" cellspacing="0" border="0" width="100%"><TR height="21" bgcolor="#000000"><TD><img alt="" border="0" height="21" width="1" src="http://www.ibm.com/i/c.gif"></TD></TR><TR bgcolor="#ffffff"><TD><img alt="" border="0" height="1" width="1" src="http://www.ibm.com/i/c.gif"></TD></TR></TABLE></TD></TR></TABLE></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -