Java网络编程与HTTP协议详解
1. Java Socket编程基础
1.1 SMTP会话
在Java中,Socket编程可实现程序间的双向通信。以SMTP会话为例,当创建好Socket及输入输出对象后,便可开始会话。以下是管理整个SMTP会话的命令:
send(null);
send("HELO " + java.net.InetAddress.getLocalHost().getHostName() );
send("MAIL FROM: " + _from.getText() );
send("RCPT TO: " + _to.getText() );
send("DATA");
_out.println("Subject:" + _subject.getText());
_out.println( _body.getText() );
send(".");
s.close();
send
方法未处理可能出现的异常,而是将其抛给调用方法。若传入的 s
为 null
,则不发送命令,仅等待响应;若不为 null
,则记录 s
的值并发送到Socket,随后调用 flush
确保命令实际发送,而非仅在缓冲区。发送命令后,调用 readLine
等待服务器响应,若有响应则记录。
1.2 服务器套接字
服务器套接字是TCP/IP连