1. 两个重要的TCP套接字类是什么?
Socket、ServerSocket。
ServerSocket用于一般的双向套接字通信,Socket通过套接字实现读写操作。
Socket有两个方法:getInputStream()和getOutputStream()。
2. 是否可以得到本机IP地址?
可以,通过InetAddress类的getLocalHost().getHostAddress()方法。
3. 如何创建InetAddress类的实例?
有3个方法可以创建:getLocalhost()、getByName()、getByAllName()。
4. 什么是代理服务器?
代理服务器传递一个协议的客户端给一个服务器,主要用于当客户端连接服务器有某些限制时。另外当许多用户访问一个网站时,代理服务器获取服务器内容一次,节省宝贵的网络资源,同时提高客户端访问速度。还有可以针对同一个服务器获取多个连接。
5. 传输层做什么?
可以确保邮件到达目的地。如果一个包失败,传输层控制通知发送者再发送一个包的过程。
6. TCP和UDP的区别是什么?
主要不同在沟通方式上。TCP建立双向连接,而UDP是单向连接,就像TCP是打电话,而UDP是发信件。
7. 什么是SMTP?
简单邮件传输协议,TCP/IP的邮件标准协议。SMTP在服务器间交换邮件,而POP是在客户端和服务器间传输邮件。
8. 什么是工厂方法?
工厂方法是一个模式,通过静态方法创建类的实例。InetAddress类没有public构造器,可以通过工厂方法创建实例。
9. 什么是DHCP?
动态主机配置协议,用于自动分配主机的IP地址。
10. OSI模型的七层是什么?
应用层、展示层、会话层、传输层、网络层、数据链路层、物理层。
11. 怎样连接到一个URL?
获取一个URL实例,然后调用openConnection()方法。URLConnection是一个抽象类,通过URL实例的openConnectio()方法获得。
URL url;
URLConnection connection;
try {
url = new URL(...);
connection = url.openConnection();
} catch (MalFormedURLException e) {
}