麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

編寫可在線收發(fā)E-mail的Java Applet(1)

2019-11-18 13:58:37
字體:
供稿:網(wǎng)友

  說起java,有些人可能會(huì)想到一些用于修飾主頁的Applet,例如聞名的水光倒影Lake.class等。其實(shí)這些Applet只是Java應(yīng)用的很小一個(gè)方面。作為一種新興的網(wǎng)絡(luò)語言,Java用于編寫基于TCP/ip的應(yīng)用才算用到了點(diǎn)子上。在編寫TCP/IP的應(yīng)用方面,Java是我所用過的編程語言中最簡潔、最快速的。本文將討論如何用Java來編寫可根據(jù)SMTP和POP3協(xié)議來收發(fā)E-mail的Java Applet。 一.Java網(wǎng)絡(luò)編程初步1.建立TCP/IP連接Socket類中的構(gòu)造函數(shù)Socket(String host,int port)用于創(chuàng)建一個(gè)Socket,并與指定的主機(jī)(host)及端口(port)連接。由于受到Java Applet安全機(jī)制的限制,主機(jī)名不可以任意指定,而應(yīng)和被調(diào)用的Applet所在主機(jī)的名字相同。因此,可先由GetCodeBase方法取得瀏覽器當(dāng)前讀取的CLASS文件所在的URL,再通過GetHost方法從該URL返回用字符串表示的該主機(jī)的名稱。例如從http://person.zj.cninfo.net/~caveman/這個(gè)URL中可以返回用字符串表示的主機(jī)名"person.zj.cninfo.net"。 關(guān)于標(biāo)準(zhǔn)端口地址的值一般是:SMTP為25、POP3為110、FTP為21等,當(dāng)然也有的主機(jī)用的是非標(biāo)準(zhǔn)的端口,在使用之前最好先確定一下。 2.?dāng)?shù)據(jù)的發(fā)送與接收 使用Socket類中的GetOutputStream方法可以取得與當(dāng)前Socket對應(yīng)的輸出數(shù)據(jù)流,用DataOutputStream類中的WriteBytes方法可以逐個(gè)字符地將數(shù)據(jù)寫入到輸出數(shù)據(jù)流中。 使用Socket類中的GetInputStream方法可以取得與當(dāng)前Socket對應(yīng)的輸入數(shù)據(jù)流,用DataInputStream類中的ReadLine方法可以逐行地讀取輸入數(shù)據(jù)流中的數(shù)據(jù)。 3.關(guān)閉TCP/IP連接 可以用Socket類中的close方法來關(guān)閉TCP/IP連接。 二.基于SMTP協(xié)議發(fā)送E-mail的Java Applet 1.SMTP協(xié)議和服務(wù)器 SMTP(Simple Mail Transfer PRotocol)協(xié)議是目前網(wǎng)上流行的發(fā)送E-mail的協(xié)議,SMTP協(xié)議共有14條命令。不過,發(fā)一封E-mail只需用如下5條命令就足夠了(見表1)。 表1 命 令 功 能 HELO 與SMTP服務(wù)器握手,傳送本機(jī)域名 MAIL FROM: 傳送發(fā)信者的信箱名稱 RCPT TO: 傳送接收者的信箱名稱 DATA 發(fā)送信件數(shù)據(jù)(包括信頭和信體) QU99v 退出與SMTP服務(wù)器的連接 除了ISP提供的SMTP服務(wù)器以外,國內(nèi)一些存放免費(fèi)個(gè)人主頁的服務(wù)器的SMTP端口也是打開的,假如該服務(wù)器對外來的E-mail沒有增加RELAY限制(例如網(wǎng)易nease.net就有此限制),那么也可以把它當(dāng)作SMTP服務(wù)器來用。如Person.zj.cninfo.net等,在這些服務(wù)器上放一個(gè)下面要編的Java Applet和調(diào)用它的htm文件,用戶就可以實(shí)現(xiàn)在線發(fā)送E-mail了。 2.SMTPtester.java中的主要程序 該Java Applet用了三個(gè)文本條(TextField)部件tf1、tf2和tf3,它們分別用來供用戶輸入發(fā)信者的信箱名稱、接收者的信箱名稱和信件的標(biāo)題;還用了兩個(gè)文本區(qū)(TextArea)部件ta1和ta2,ta1供用戶輸入信體內(nèi)容,ta2用來顯示Smtp服務(wù)器的應(yīng)答信息和出錯(cuò)信息等;當(dāng)然還用了一個(gè)按鈕(Button)部件bu1,用戶輸入正確的信息后,用鼠標(biāo)點(diǎn)擊一下它,信件就可以被發(fā)出去了。 事件捕捉處理程序見程序1: public boolean handleEvent(Event event1) { if ((event1.target != bu1) (event1.id != 1001)) /*假如不是按鈕bu1被鼠標(biāo)按下*/ { return false; } if (!((tf1.getText().length() == 0) (tf2.getText().length() == 0))) /*假如發(fā)信者和收信人的信箱名稱都填好了,執(zhí)行發(fā)信程序Bu1run*/ { bu1.disable(); bu1run(); return true; } ta2.appendText("Please give me enough information to send your email!/n");

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 久久久久成人免费 | 国产精品视频在线观看免费 | 欧美a黄 | 原来神马影院手机版免费 | 视频www | 国产影视| 精品国产91久久久久久久妲己 | www久久国产 | 精品成人av一区二区三区 | 免费中文视频 | 红杏网站永久免费视频入口 | 成人午夜免费看 | 伊人二本二区 | 在线日韩亚洲 | 久久国产成人午夜av浪潮 | 亚洲热线99精品视频 | 日韩毛片在线看 | 久色伊人| 久久精品国产精品亚洲 | 成人毛片网 | 久久免费视频1 | 久久精品亚洲精品国产欧美kt∨ | 一级毛片在线视频 | 欧美日韩一区三区 | 久久精品国产99久久6动漫亮点 | xxxx欧美视频 | 亚洲成人欧美在线 | 久久久www成人免费毛片 | 国产精品国产三级国产在线观看 | 主播粉嫩国产在线精品 | 精品国产一区二区三区在线观看 | a视频在线播放 | 欧美另类在线视频 | 91精品视频免费 | 狠狠操夜夜爱 | 久久超碰99 | av在线免费观看网 | 91成人一区二区三区 | 精品国产一区二区三区四区在线 | 精精国产xxxx视频在线播放7 | 毛片在线免费观看网址 |