Re: [問題] java nio socketchannel的port問題
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):