Java网络编程(3):使用 UDP 探测局域网内特定类型的机器

2016-12-08
阅读 9 分钟
5.9k
记得以前我们使用类似“快牙”这些文件分享工具的时候,一开始就是先在 手机A 上创建一个“房间”,然后连接上 手机A WiFi 热点的其他手机(即这些手机处于一个局域网内)就可以发现到这个房间并加入到这个房间里面,然后就可以互相分享文件了。那没有建立连接的情况下,“发现房间”这个功能是怎么实现的呢?首先,既然 手机A...

Java 网络编程(2):UDP 的使用

2016-11-25
阅读 5 分钟
5.2k
今天的主角是 UDP(User Datagram Protocol,用户数据报协议)。我们都知道 TCP 是一种可靠的协议 —— 首先客户端和服务端需要建立连接(三次“握手”),数据发送完毕需要断开连接(四次“挥手”);如果发送数据时数据损坏或者丢失,那么 TCP 会重新发送。保证可靠的代价就是效率的降低(建立连接和断开连接就需要时间,保...

Java 网络编程(1):使用 NetworkInterface 获得本机在局域网内的 IP 地址

2016-11-12
阅读 3 分钟
31.4k
在使用 Java 开发网络程序时,有时候我们需要知道本机在局域网中的 IP 地址。很常见的一种做法是调用本地命令(比如 Windows 上的 ipconfig 命令和 Linux 上的 ifconfig 命令),接着解析本地命令的输出,最后得到本机在局域网内的 IP 地址。很明显,这种做法不够方便,也不够 Java。于是引出了 Java 在 JDK1.4 的时候添...