int port = Integer.parseInt(portString);
InetSocketAddress socketAddress = new InetSocketAddress(
"127.0.0.1", port);
DatagramSocket ds = new DatagramSocket(socketAddress); InetSocketAddress localSocketAddress = (InetSocketAddress) ds
.getLocalSocketAddress();
Constant.warn("Bind port: " + localSocketAddress.getPort());

解决方案 »

  1.   

    //portString应该在上面已经定义为String类型,Integer.parseInt是将String转换为int类型
    int port = Integer.parseInt(portString);
    //创建一个socket流,2个参数分别为:ip地址和端口号
    InetSocketAddress socketAddress = new InetSocketAddress("127.0.0.1", port);
    //DatagramSocket 的意思是不区分是作为客户端还是服务器端,可以理解为本机即是客户端又是服务器端,可以//根据需要相互自动转化
    DatagramSocket ds = new DatagramSocket(socketAddress);
    //将DatagramSocket 转换为输入流
    InetSocketAddress localSocketAddress = (InetSocketAddress) ds
                            .getLocalSocketAddress();
    //得到输入流的端口号,并将该端口号,作为一个提示作为一个常数,目的应该是作为本机端口
    Constant.warn("Bind port: " + localSocketAddress.getPort());由于下面的代码没有给出,也就只能分析到这里了,大致意思应该是监听port端口,如果该端口有数据交换,则得到与本机交换数据的机器的端口号,然后将监听到的端口号作为一个新的端口,进行监听