日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Java NIO無法綁定指定IP和端口解決方案

瀏覽:24日期:2022-08-22 11:49:47

在使用SNMP4J時,我想指定創建的客戶端使用的本地IP和端口,因為在Socket時這是可以的,但是發現無法實現

因為SNMP4J底層的通信是使用NIO實現的,而NIO編程時貌似就不能顯示的指定

例如在SNMP4J的DefaultTcpTransportMapping類里面,當作為客戶端需要發送消息時,程序首先判斷是否創建了這個客戶端,如果沒有在創建時看到這樣的代碼:

SocketChannel sc = null;try {sc = SocketChannel.open();sc.configureBlocking(false);sc.connect(new InetSocketAddress(((TcpAddress) address).getInetAddress(),((TcpAddress) address).getPort()));s = sc.socket();entry = new SocketEntry((TcpAddress) address, s);entry.addMessage(message);sockets.put(address, entry);synchronized (pending) {pending.add(entry);}selector.wakeup();logger.debug('Trying to connect to ' + address);} catch (IOException iox) {logger.error(iox);throw iox;}

即使在SocketChannel中,他的Socket變量定義也是不能修改的:

/** * Retrieves a socket associated with this channel. * * <p> The returned object will not declare any public methods that are not * declared in the {@link java.net.Socket} class. </p> * * @return A socket associated with this channel */public abstract Socket socket();

所以我直接判定Java NIO中,客戶端是無法指定自己的IP和端口的!

那么有人在想為什么需要指定自己的IP和端口?具體需求我就不再說了,在計算機上雖然只有一塊網卡,但是我們可以使用兼容的IP:

Java NIO無法綁定指定IP和端口解決方案

由于我的服務端程序以客戶端IP來判斷信息來源,現在我需要在我的電腦上做測試程序,需要同時邦定兩個IP地址進行消息發送。

此時我就可以在高級設置里面設置兼容IP就可以,但是現在程序卻無法選擇。

在Socket里面可以這樣寫:

package com.xidian.nms.socket;import java.net.InetSocketAddress;import java.net.ServerSocket;import java.net.Socket;import java.net.SocketAddress;public class SocketServer {public static void main(String[] args) throws Exception {// 創建非邦定式連接對象ServerSocket ss = new ServerSocket();// 需要邦定的本地IP和地址SocketAddress address = new InetSocketAddress('192.168.0.109', 2330);// 將連接對象邦定到地址ss.bind(address);System.out.println('服務已經啟動');while (true) {// 接收請求Socket socketClient = ss.accept();// 客戶端IPString ip = socketClient.getInetAddress().getHostAddress();// 客戶端端口int port = socketClient.getPort();System.out.println('服務端收到請求:' + ip + '/' + port);}}}

服務端很簡單,你可以一行代碼搞定,也可以顯示的指定IP、端口,然后進行顯示的服務連接操作:

package com.xidian.nms.socket;import java.net.InetAddress;import java.net.InetSocketAddress;import java.net.Socket;import java.net.SocketAddress;public class SocketClient {public static void main(String[] args) throws Exception{Socket socket = new Socket();// 需要邦定的本地IPInetAddress iaddThis = InetAddress.getByName('192.168.1.109');// 需要邦定的本地地址SocketAddress saddThis = new InetSocketAddress(iaddThis,2331);socket.bind(saddThis);// 連接的遠程服務地址InetAddress iaddRe = InetAddress.getByName('192.168.0.109');SocketAddress saddRe = new InetSocketAddress(iaddRe,2330);// 顯示連接socket.connect(saddRe);//Socket socket = new Socket('192.168.0.109', 2330);}}

注釋掉的內容是一行搞定連接的方式。

經過測試,如果想要修改所邦定的IP和顯示再次進行連接操作,需要把設置NIO同步的代碼放到后面:

try {sc = SocketChannel.open();s = sc.socket();s.bind(new InetSocketAddress('192.168.0.109', 999));s.connect(new InetSocketAddress(((TcpAddress) address).getInetAddress(),((TcpAddress) address).getPort()));sc.configureBlocking(false);entry = new SocketEntry((TcpAddress) address, s);entry.addMessage(message);sockets.put(address, entry);synchronized (pending) {pending.add(entry);}selector.wakeup();logger.debug('Trying to connect to ' + address);} catch (IOException iox) {logger.error(iox);throw iox;}

否則會報錯:

Exception in thread 'main' java.nio.channels.IllegalBlockingModeExceptionat sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:76)at sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:65)at org.snmp4j.transport.DefaultTcpTransportMapping$ServerThread.sendMessage(DefaultTcpTransportMapping.java:503)at org.snmp4j.transport.DefaultTcpTransportMapping.sendMessage(DefaultTcpTransportMapping.java:183)at org.snmp4j.MessageDispatcherImpl.sendMessage(MessageDispatcherImpl.java:214)at org.snmp4j.MessageDispatcherImpl.sendPdu(MessageDispatcherImpl.java:475)at org.snmp4j.Snmp.sendMessage(Snmp.java:1110)at org.snmp4j.Snmp.send(Snmp.java:914)at org.snmp4j.Snmp.send(Snmp.java:894)at org.snmp4j.Snmp.send(Snmp.java:859)at com.xidian.nms.snmp.Snmp4jGet.sendPDU(Snmp4jGet.java:59)at com.xidian.nms.snmp.Snmp4jGet.main(Snmp4jGet.java:38)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲一级少妇| 精品国产乱码久久久| 欧美在线不卡| 亚洲3区在线| 中文字幕一区二区精品区| 九色porny丨国产首页在线| 亚洲色图综合| 亚洲一区日本| 亚洲免费影视| 日韩专区欧美专区| 视频一区免费在线观看| 日本精品在线中文字幕| 一区免费视频| 视频在线观看一区二区三区| 国产高清不卡| 亚洲性色av| 美女网站一区| 日韩专区一卡二卡| 日本天堂一区| 免费一区二区三区在线视频| 日韩不卡一二三区| 亚洲丝袜美腿一区| 日本欧美大码aⅴ在线播放| 亚洲bt欧美bt精品777| 日韩中文字幕91| 亚洲人成网77777色在线播放| 亚洲欧美日韩专区| 视频一区欧美精品| 日韩1区2区3区| 国产精品观看| 国产一区二区三区精品在线观看 | 欧美黄色精品| 精品国产麻豆| 久久精品青草| 视频一区二区欧美| 欧美日韩国产一区精品一区| 欧美亚洲国产激情| 蜜桃视频一区二区三区在线观看 | 激情国产在线| 国产专区一区| 亚洲精品第一| 国产亚洲一区| 国产精品99久久精品| 在线看片福利| 欧美精品一二| 四虎在线精品| 国产精品一线天粉嫩av| 精品一区不卡| 日韩av在线播放网址| 成人日韩精品| 蜜臀久久久久久久| 国产精久久一区二区| 国产黄大片在线观看| 欧洲av一区二区| 免费在线观看成人| 国产精品蜜月aⅴ在线| 中文av在线全新| 亚洲欧美日韩国产综合精品二区| 一区二区三区国产在线| 日韩二区三区在线观看| 精品中文字幕一区二区三区| 久久男人av| 亚洲免费观看| 日本午夜免费一区二区| 久久精品国内一区二区三区| 久久这里只有精品一区二区| 成人免费一区| 蜜桃视频一区二区三区在线观看| 亚洲小说春色综合另类电影| 日韩av中文字幕一区二区三区| 国语精品一区| 亚洲最新av| 午夜欧美巨大性欧美巨大| 视频一区视频二区在线观看| 日韩国产欧美三级| 日韩在线中文| 91精品美女| 日韩亚洲国产欧美| 国产高清日韩| 一二三区精品| 久久激情中文| 欧美日韩视频免费看| 岛国av免费在线观看| 视频一区二区欧美| 日韩久久电影| 国产免费久久| 男人天堂欧美日韩| 日韩在线观看一区| 国产精品1区| 午夜精品影视国产一区在线麻豆| 国产一二在线播放| 国产日韩高清一区二区三区在线| 亚洲国内精品| 国产精品.xx视频.xxtv| 91久久视频| 亚洲黄色免费av| 国产调教精品| 亚洲制服一区| 免费观看不卡av| 精品国产网站| 国产欧美亚洲精品a| 亚洲激情久久| 三级小说欧洲区亚洲区| 国产精品一页| 日韩激情综合| 亚洲在线观看| 国产美女一区| 亚洲成人日韩| 波多野结衣久久精品| 日韩精品午夜视频| 欧美亚洲国产精品久久| 你懂的网址国产 欧美| 蜜桃久久久久久| 不卡中文一二三区| 999国产精品永久免费视频app| 69精品国产久热在线观看| 亚洲二区在线| 欧美sss在线视频| 色婷婷色综合| 福利视频一区| 精品一区二区三区中文字幕 | 在线精品亚洲欧美日韩国产| 免费久久精品视频| 91高清一区| 欧美日韩国产在线观看网站| 国产精品网址| 日韩精彩视频在线观看| 免费观看日韩电影| 99香蕉国产精品偷在线观看 | 亚洲精品动态| 伊人影院久久| 蘑菇福利视频一区播放| 欧美日韩国产综合网| 久久中文字幕二区| 99国产精品免费视频观看| 久久天堂影院| 日韩a一区二区| 国产一区二区三区免费在线| 日韩一区二区三区精品| 在线视频日韩| 亚洲一区二区日韩| 中文字幕日韩高清在线 | 亚洲资源网站| 石原莉奈一区二区三区在线观看 | 视频一区视频二区中文| 亚洲国内精品| 久久婷婷av| 欧洲激情综合| 亚洲一区二区动漫| 亚洲欧美视频一区二区三区| 欧美成人精品| 日韩免费av| 亚洲精品电影| 在线亚洲观看| 亚洲精品在线二区| 日韩影院免费视频| 日韩国产在线观看| 国产乱码精品一区二区亚洲| 奇米亚洲欧美| 日韩av不卡在线观看| 欧美日韩亚洲一区二区三区在线| 亚洲免费毛片| 99在线|亚洲一区二区| 婷婷成人基地| 亚洲久久视频| 国产精品一线| 92国产精品| 在线日韩中文| 亚洲人成网77777色在线播放| 久久网站免费观看| 国产二区精品| 一区二区视频欧美| 日韩av字幕| 国产日韩在线观看视频| 青青国产精品| 国产成人精品一区二区三区免费| 免费在线播放第一区高清av| 国产极品嫩模在线观看91精品| 久久激五月天综合精品| 麻豆精品视频在线观看视频| 国产日韩亚洲欧美精品| 久久精品资源| 亚洲国产福利| 天堂成人国产精品一区| 久久亚洲视频| 日本亚洲视频| 欧美久久一区二区三区| 牛牛精品成人免费视频| 老司机免费视频一区二区| 精品国产黄a∨片高清在线| 日韩av不卡一区二区| 国产精品自拍区| 91综合视频| 久久国产电影| 亚洲乱码久久| 美女精品久久| 中文字幕亚洲精品乱码| 日韩av中文字幕一区二区| 国产精品porn| 美女91精品|