作者sbrhsieh (十年~)
看板java
标题Re: [问题] java nio socketchannel的port问题
时间Wed Mar 27 01:03:07 2013
※ 引述《scorpion2272 (我是盆栽)》之铭言:
: 各位好,
: 最近正在处理nio的程式,
: 想请问我是否有办法指定SocketChannel所包含之socket的source port?
: 即 connect = SocketChannel.open(new InetSocketAddress(IP,PORT));
: 我想要指定connect里socket的source port。
: 另外,直接宣告socket可以指定source port,
: 但我找不到如何将一个socket与一个SocketChannel产生连结
: 由於云端安全性的问题,我必须由指定port连接到server,
: 烦请各位解答,谢谢!!
试试下面的做法:
先产生一个未建立 connection 的 SocketChannel。
从这个 SocketChannel 取得其使用的 scoket,设定好其要使用的位址与 port
(不是要连接的目的端的位址与 port)。
令 SocketChannel 建立 connection。
channel = SocketChannel.open()
channel.socket().bind(new InetSocketAddress(SOURCE_PORT));
channel.connect(new InetSocketAddress(TARGET_HOST, TARGET_PORT));
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 1.172.237.11