µ±Ç°Î»ÖãºÊ×Ò³ > wininet
µÚ¾ÅÕ JAVAÓëÍøÂç±à³Ì
Ò»¡¢JAVAµÄÓ¦Ó÷¶³ë
1¡¢Á½²ãµÄ¿Í»§·þÎñÆ÷Ìåϵ½á¹¹ ¿Í»§¶Ë£ºJAVAÓ¦ÓóÌÐò ·þÎñÆ÷¶Ë£ºÓëÊý¾ÝÔ´µÄ¹µ¶Ëͨ¹ý Socket/RMI (JavaÔ¶³Ì·½·¨µ÷ÓÃ) JDBC( JavaÊý¾Ý¿âÁ¬½Ó) EJB(Enterprise Jave Beans)/CORBA(¹«¹²¶ÔÏóÇëÇó´úÀí(broker)Ìåϵ½á¹¹)
2¡¢»ùÓÚHTMLµÄÁ½²ãÌåϵ½á¹¹ ¿Í»§¶Ë£ºä¯ÀÀÆ÷ HTML ·þÎñÆ÷¶Ë£ºÓëÊý¾ÝÔ´µÄ¹µ¶Ëͨ¹ý JSP (Java Server Pages) Java servlet ASP, ASP.NET PHP, PerlµÈ
3¡¢»ùÓÚHTMLµÄÈý²ãÌåϵ½á¹¹ ¿Í»§¶Ë£ºä¯ÀÀÆ÷HTML WEBÈÝÆ÷£ºJSP£¬Java Servlet (ÉÌÒµÂß¼²ã) ºǫ́·þÎñÆ÷£ºSocket/RMI¡¢JDBC¡¢EJB/CORBA (Êý¾ÝÔ´²ã) ¸ºÔðÊý¾Ý¿â¡¢ERP¡¢Óʼþ·þÎñÆ÷µÈ
4¡¢»ùÓÚAppletµÄÈý²ãÌåϵ½á¹¹ ¿Í»§¶Ë£ºä¯ÀÀÆ÷JavaApplet WEBÈÝÆ÷£ºJSP£¬Java Servlet (ÉÌÒµÂß¼²ã) ºǫ́·þÎñÆ÷£ºSocket/RMI¡¢JDBC¡¢EJB/CORBA (Êý¾ÝÔ´²ã) ¸ºÔðÊý¾Ý¿â¡¢ERP¡¢Óʼþ·þÎñÆ÷µÈ JavaApplet²»ºÃ¿ª·¢£¬´ËÍâä¯ÀÀÆ÷²»Ò»¶¨Ö§³Ö£¬ËùÒÔSUNÌṩJava Plug-in£¬Ëü¿É¼ì²éJVM°æ±¾²¢×Ô¶¯ÏÂÔØ¡£¶øÏàÓ¦µÄHTMLÒª×öÐ޸ģ¬Òª¼ÓÉÏcodebaseÒÔ˵Ã÷Java Plug-inµÄÏÂÔØÎ»ÖÃ,typeÒÔ˵Ã÷´ËJava AppletµÄHTTP¸ñʽ¼°°æ±¾£¬pluginspageÒÔ˵Ã÷Java Plug-inµÄÍøÒ³(Èçhttp://java.sun.com/products/plugin/1.3.plugin-install.html)µÈ¡£
¶þ¡¢Java Socket
JavaÖ§³ÖÍøÂçµÄAPIÓУº java.net (Networking)
javax.net.ssl (Networking with Secure Socket Layer) java.rmi (Remote Method Invocation)
javax.rmi (Remote Method Invocation for IIOP(»¥ÁªÍø»¥²Ù×÷ORBÐÒ飨IIOP))
URL´¦Àí£ºÔÚjava.netÖУ¬ÓëURLÓйصÄÀà±ðÓУº ½Ó¿Ú£º URLStreamHandleFactory
37
Àࣺ java.net.HttpURLConnection java.net.JarURLConnection java.net.URL java.net.URLClassLoader java.net.URLConnection java.net.URLDecoder java.net.URLEncoder java.net.URLStreamHandler
Òì³££º java.net.MalformtedURLException java.net.UnkownServiceException
´¦ÀíÖ÷»úÃû³Æ¼°IPµØÖ·£º Àࣺ java.net.InetAddress ·½·¨£º public byte[] getAddress() public static InetAddress[] getAllByName(String host) throws unkownHostException public static InetAddress getByName(String host) throws UnkownHostException public String getHostAddress() public String getHostName()
´¦ÀíUDPͨÐÅÐÒé ½Ó¿Ú: DatagramSocketImplFactory Àࣺ java.net.DatagramPacket java.net.DatagramSocket java.net.DatagramSocketImpl java.net.MulticastSocket Òì³££º java.net.SocketException
´¦ÀíTCPͨÐÅÐÒé
½Ó¿Ú£º SocketImplFactory SocketOptions Àࣺ java.net.ServerSocket java.net.Socket java.net.SocketImpl Òì³££º java.net.BindException java.net.ConnectException java.net.NoRouteToHostException java.net.ProtocolException java.net.SocketException
´¦ÀíÍøÂ缰ȨÏÞ Àࣺ java.net.Authenticator java.net.NETPermission java.net.PasswordAuthentication
38
java.net.SocketPermission java.net.SocketException
ÄÚÈÝ´¦ÀíÆ÷
½Ó¿Ú£º ContentHandlerFactory Àࣺ java.net.ContentHandler java.net.SocketException
java.netÓëTCPµÄÏà¹ØAPI
·þÎñÆ÷¶Ë£ºjava.net.ServerSocket ½¨Á¢·þÎñÆ÷SOCKET¼°ÉèÖÃËùʹÓõÄIPµØÖ·¼°¶Ë¿Ú accept ÕìÌý¼°½ÓÊÜÀ´×Ô¿Í»§¶ËµÄÁ¬½ÓÇëÇ󣬲¢ÇÒ½¨Á¢Óë¿Í»§¶ËµÄÁ¬½Ó (java.io.DataInputStream)read ½ÓÊÕÀ´×Ô¿Í»§¶ËµÄÊý¾Ý (java.io.DataOutputStream)write ·¢ËÍÊý¾Ý Close ¹Ø±ÕSocket
¿Í»§¶Ë£º java.net.Socket ½¨Á¢¿Í»§¶ËSOCKET²¢³¢ÊÔÓë·þÎñÆ÷¶ËÁ¬½Ó (java.io.DataInputStream)read ½ÓÊÕÊý¾Ý (java.io.DataOutputStream)write ·¢ËÍÊý¾Ý Close ¹Ø±ÕSocket
java.netÓëUDPµÄÏà¹ØAPI java.net.DatagramSocket ½¨Á¢Datagram SOCKET java.net.DatagramPacket ½¨Á¢Datagram Êý¾Ý°ü (DatagramSocket)receive ½ÓÊÕÊý¾Ý (DatagramSocket)send ·¢ËÍÊý¾Ý Close ¹Ø±ÕDatagram Socket
Èý¡¢SMTP
1.SMTP¹¤×÷ÔÚÁ½ÖÖÇé¿öÏ£ºÒ»Êǵç×ÓÓʼþ´Ó¿Í»§»ú´«Êäµ½·þÎñÆ÷£»¶þÊÇ´Óijһ¸ö·þÎñÆ÷´«Êäµ½ÁíÒ»¸ö·þÎñÆ÷
39
2.SMTPÊǸöÇëÇó/ÏìÓ¦ÐÒ飬ÃüÁîºÍÏìÓ¦¶¼ÊÇ»ùÓÚASCIIÎı¾£¬²¢ÒÔCRºÍLF·û(0DºÍ0A)½áÊø¡£ÏìÓ¦°üÀ¨Ò»¸ö±íʾ·µ»Ø×´Ì¬µÄÈýλÊý×Ö´úÂë 3.SMTPÔÚTCPÐÒé25ºÅ¶Ë¿Ú¼àÌýÁ¬½ÓÇëÇó
4.Á¬½ÓºÍ·¢Ë͹ý³Ì£º a.½¨Á¢TCPÁ¬½Ó
b.¿Í»§¶Ë·¢ËÍHELOÃüÁîÒÔ±êʶ·¢¼þÈË×Ô¼ºµÄÉí·Ý£¬È»ºó¿Í»§¶Ë·¢ËÍMAILÃüÁî ·þÎñÆ÷¶ËÏ£ÍûÒÔOK×÷ΪÏìÓ¦£¬±íÃ÷×¼±¸½ÓÊÕ
c.¿Í»§¶Ë·¢ËÍRCPTÃüÁÒÔ±êʶ¸Ãµç×ÓÓʼþµÄ¼Æ»®½ÓÊÕÈË£¬¿ÉÒÔÓжà¸öRCPTÐÐ ·þÎñÆ÷¶ËÔò±íʾÊÇ·ñÔ¸ÒâΪÊÕ¼þÈ˽ÓÊÜÓʼþ d.ÐÉ̽áÊø£¬·¢ËÍÓʼþ£¬ÓÃÃüÁîDATA·¢ËÍ e.ÒÔ.±íʾ½áÊøÊäÈëÄÚÈÝÒ»Æð·¢ËͳöÈ¥ f.½áÊø´Ë´Î·¢ËÍ£¬ÓÃQUITÃüÁîÍ˳ö¡£
5.ÁíÍâÁ½¸öÃüÁ
VRFY---ÓÃÓÚÑéÖ¤¸ø¶¨µÄÓû§ÓÊÏäÊÇ·ñ´æÔÚ£¬ÒÔ¼°½ÓÊÕ¹ØÓÚ¸ÃÓû§µÄÏêϸÐÅÏ¢¡£ EXPN---ÓÃÓÚÀ©³äÓʼþÁÐ±í¡£
6.Óʼþ·Óɹý³Ì£º
SMTP·þÎñÆ÷»ùÓÚ?ÓòÃû·þÎñDNSÖмƻ®ÊÕ¼þÈ˵ÄÓòÃûÀ´Â·Óɵç×ÓÓʼþ¡£SMTP·þÎñÆ÷»ùÓÚDNSÖеÄMX¼Ç¼À´Â·Óɵç×ÓÓʼþ£¬MX¼Ç¼ע²áÁËÓòÃûºÍÏà¹ØµÄSMTPÖмÌÖ÷»ú£¬ÊôÓÚ¸ÃÓòµÄµç×ÓÓʼþ¶¼Ó¦Ïò¸ÃÖ÷»ú·¢ËÍ¡£
±ÈÈ磺SMTP·þÎñÆ÷mail.abc.comÊÕµ½Ò»·âÐÅÒª·¢µ½shuser@sh.abc.com:
a.SendmailÇëÇóDNS¸ø³öÖ÷»úsh.abc.comµÄCNAME¼Ç¼£¬ÈçÓУ¬¼ÙÈôCNAMEµ½shmail.abc.com£¬ÔòÔÙ´ÎÇëÇóshmail.abc.comµÄCNAME¼Ç¼£¬Ö±µ½Ã»ÓÐΪֹ b.¼Ù¶¨±»CNAMEµ½shmail.abc.com,È»ºósendmailÇëÇó@abc.comÓòµÄDNS¸ø³öshmail.abc.comµÄMX¼Ç¼£¬
shmail MX 5 shmail.abc.com 10 shmail2.abc.com
c. Sendmail×îºóÇëÇóDNS¸ø³öshmail.abc.comµÄA¼Ç¼£¬¼´IPµØÖ·£¬Èô·µ»ØÖµÎª1.2.3.4 d. SendmailÓë1.2.3.4Á¬½Ó£¬´«ËÍÕâ·â¸øshuser@sh.abc.comµÄÐŵ½1.2.3.4Õą̂·þÎñÆ÷µÄSMTPºǫ́³ÌÐò¡£ A¼Ç¼£¨IPÖ¸Ïò£©¡¢MX¼Ç¼£¨Óʼþ¼Ç¼£©¡¢CNAME¼Ç¼£¨±ðÃûÖ¸Ïò£©
7.SMTP»ù±¾ÃüÁ£º
ÃüÁî ÃèÊö ------------------------------
HELO Ïò·þÎñÆ÷±êʶÓû§Éí·Ý
·¢ËÍÕßÄÜÆÛÆ£¬Ëµ»Ñ£¬µ«Ò»°ãÇé¿öÏ·þÎñÆ÷¶¼Äܼì²âµ½¡£ MAIL ³õʼ»¯Óʼþ´«Êä mail from:
40
¹²·ÖÏí92ƪÏà¹ØÎĵµ