DatagramSocket(byte[] buf, int length, InetAddress address, int port)
Socket(InetAddress address, int port)
这两个都是API中的构造函数,在看视频的时候我发现个问题:这两个构造函数中参数InetAddress address完全不一样,在视频UDP的实例中创建数据包对象的构造函数只能是InetAddress.getByName("122.71.182.13")。
而在TCP实例中创建端点对象的构造参数中参数InetAddress address既可以是InetAddress.getByName("122.71.182.13")又可以是"122.71.182.13"和主机名。这个我已经在两个实例中验证了,在UDP创建数据包时候用IP地址和主机名做参数就会编译失败。
这是什么原因呢?如果说InetAddress.getByName("122.71.182.13")是IP对象的话,那Socket的构造函数中同样的参数为什么就不要求是对象呢?这有什么不为人知的地方呢?
|