日期:2014-05-20  浏览次数:20685 次

帮我看看这段代码的意思
Java code

                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());



------解决方案--------------------
//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端口,如果该端口有数据交换,则得到与本机交换数据的机器的端口号,然后将监听到的端口号作为一个新的端口,进行监听