当前页面: 开发资料首页 → J2SE 专题 → 获得SOCKET端口的简单问题!
获得SOCKET端口的简单问题!
摘要: 获得SOCKET端口的简单问题!
想做一个SOCKET客户端,在不知道目的地的情况下,怎么能利用空闲端口打开一个SOCKET,是不是如下的实现方式:
SocketServer fromSocketServer = new ServerSocket(0);
Socket socket = fromSocketServer.accept();
如果不用SocketServer,直接用Socket来实现可以吗?
Socket的取得有两种方法,一种是去连别人,二是自己做服务器接受别人的连接
这二者都可以返回一个Socket引用
1,Socket s=new Socket(-#34;192.168.1.5-#34;,5555);
2,ServerSocket ss=new ServerSocket(10000);
Soxket s=ss.accept();
得到它们的端口就更简单了
getPort()
返回此套接字连接到的远程端口。
getLocalPort()
返回此套接字绑定到的本地端口。
楼上的,看清我的问题
第一,目的地现在不能知道,要以后才知道,
第二,可用的空闲端口要用程序来获得,不是已经指定好的!
第一,目的地现在不能知道,要以后才知道,
可以用udp,或者就是serversocket
第二,可用的空闲端口要用程序来获得,不是已经指定好的!
for(int i=1024;i-#60;=6000;i++){
try{
Socket s=new Socket(-#34;127.0.0.1-#34;,i);
}catch(Expection e){
System.out.println(-#34;端口-#34;+i+-#34;已经占用-#34;)
}
}
楼上的,你的这段代码我看到过,不过不能满足我的要求!
我的帖子里说了,用下面的方法:
SocketServer fromSocketServer = new ServerSocket(0);
Socket socket = fromSocketServer.accept();
可是现在不想用SocketServer,有没有别的方式能直接实现这个功能!
还有,连接必须是TCP的