Java网络编程全解析
1. Java中的Socket基础
在Java里,Socket构造器有多种使用方式。无参构造器会创建一个未连接的Socket,之后可以用 bind() 方法将其绑定到指定的主机和端口,绑定后再使用 connect() 方法进行连接。不过,如果在创建时就知道主机和端口,直接在构造器中指定会更方便。
setSoTimeout(int ms) 方法能为Socket设置超时时间。当超时时间不为零时,输入流的读取操作只会阻塞指定的时间,之后会抛出 java.net.SocketTimeoutException 异常,但Socket仍可继续使用。 setSocketImplFactory() 方法则为那些想自定义Socket实现的场景提供了钩子,常用于处理防火墙或代理问题,通常是在整个站点层面进行设置,普通程序员无需过多关注。此外,Socket API还有一二十个用于TCP Socket选项的 get/set 方法,多数情况下可以忽略。
2. Java客户端Socket示例:获取网络时间
网络时间协议(NTP)用于同步计算机的时钟。若不进行定期同步,计算机时钟可能会出现偏差,影响邮件和文件时间戳等需要时间一致的操作。下面的Java程序展示了如何通过Socket连接到NTP服务器获取时间:
import java.io.*;
import java.net.*;
public class As
超级会员免费看
订阅专栏 解锁全文

160

被折叠的 条评论
为什么被折叠?



