Document serial number【KK89K-LLS98YT-SS8CB-SSUT-SST108】
Document serial number【KK89K-LLS98YT-SS8CB-SSUT-SST108】
实验七应用层网络编程
浙江大学城市学院实验报告
课程名称 计算机网络应用
实验项目名称 实验七 应用层网络编程(一)
实验成绩 指导老师(签名) 日期 2014-06-03
一. 实验目的和要求
通过实现使用Java应用层客户端和服务器来获得关于使用Java Socket网络编程的经验(SMTP、POP3)。
二. 实验内容、原理及实验结果与分析
SMTP编程(参考电子讲义“网络编程参考资料-应用层.pdf”及教材“第2章 Socket编程”)
阅读 “网络编程参考资料-应用层.pdf”“SMTP客户机实现”的源代码(),并在机器上编译运行通过。(注:可输入城院SMTP邮件服务器或其他邮件服务器作为SMTP服务器)
【程序源代码】
import .*;
import .*;
import .*;
etHostName());
code = readResponseCode();
if(code != 250) {
sendQuit();
throw new Exception("Invalid SMTP Server");
}
writeMsg("MAIL FROM:");
code = readResponseCode();
if(code != 250) {
sendQuit();
throw new Exception("Invalid from address");
}
writeMsg("RCPT TO:");
code = readResponseCode();
if(code != 250) {
sendQuit();
throw new Exception("Invalid to address");
}
writeMsg("DATA");
code = readResponseCode();
if(code != 354) {
sendQuit();
throw new Exception("Data entry not accepted");
}
writeMsg("Subject: "+;
writeMsg("To: "+;
writeMsg("From: "+;
writeMsg("");
writeMsg(body);
code = readResponseCode();
sendQuit();
if(code != 250)
throw new Exception("Message may not have been sent correctly");
else
}
on a blank line
String line = ();
while(line != null) {
, and only a '.', on a line
if(".")) {
break;
}
(line);
("\n");
line = ();
}
(".\n");
body = ();
}
}
【实验结果与分析】
POP3编程(参考电子讲义“网络编程参考资料-应用层.pdf”及教材“第2章 Socket编程”)
阅读 “网络编程参考资料-应用层.pdf”“POP3客户实现”的源代码(),并在机器上编译运行通过。(注:可输入城院POP3邮件服务器pop3或其他邮件服务器作为POP3服务器)
【程序源代码】
import .*;
import .*;
import .*;
public class Pop3ClientDemo {
protected int port = 110;
protected String hostnam