# HG changeset patch # User toubaru # Date 1550559590 -32400 # Node ID 3fe7e1a372dfc42161c21fedcee0d09293357d88 # Parent af958194248bebf84b9e11e344a655a1dbb7bd6a Multicast CUI diff -r af958194248b -r 3fe7e1a372df .idea/modules.xml --- a/.idea/modules.xml Mon Feb 18 18:46:23 2019 +0900 +++ b/.idea/modules.xml Tue Feb 19 15:59:50 2019 +0900 @@ -2,7 +2,6 @@ - diff -r af958194248b -r 3fe7e1a372df Todo.txt --- a/Todo.txt Mon Feb 18 18:46:23 2019 +0900 +++ b/Todo.txt Tue Feb 19 15:59:50 2019 +0900 @@ -1,3 +1,11 @@ +Tue Feb 19 15:01:43 JST 2019 + マルチキャスト用のパラメーター + Packet size + Multicast Address + IPv6, IPv4 + Command line + + Wed Jan 30 18:55:55 JST 2019 directconnection 時に nodeid を正しく設定する必要がある diff -r af958194248b -r 3fe7e1a372df WifiBroadCast.mm --- a/WifiBroadCast.mm Mon Feb 18 18:46:23 2019 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r af958194248b -r 3fe7e1a372df doc/WifiBroadCast.mm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/WifiBroadCast.mm Tue Feb 19 15:59:50 2019 +0900 @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r af958194248b -r 3fe7e1a372df src/main/java/jp/ac/u_ryukyu/treevnc/TreeRootFinderListener.java --- a/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRootFinderListener.java Mon Feb 18 18:46:23 2019 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRootFinderListener.java Tue Feb 19 15:59:50 2019 +0900 @@ -23,13 +23,14 @@ private ViewerInterface vps; private MulticastSocket soc; private SecurityManager securityManager; + private boolean isTreeRoot; public TreeRootFinderListener(ViewerInterface vncProxyService) { vps = vncProxyService; + isTreeRoot = vps.getRfb().isTreeManager(); } public TreeRootFinderListener(ViewerInterface vncProxyService, ReceiverTask receiverTask) { - vps = vncProxyService; this.receiverTask = receiverTask; } @@ -64,7 +65,7 @@ String hostname = recvPacket.getAddress().getHostAddress(); byte[] reply = recvPacket.getData(); int len = recvPacket.getLength(); - if (len == 12 && (reply[0] & 0xff) == TreeCommand.FIND_ROOT.cmd) { + if (isTreeRoot && len == 12 && (reply[0] & 0xff) == TreeCommand.FIND_ROOT.cmd) { int port = reply[8]; port = port * 256 + reply[9]; port = port * 256 + reply[10]; @@ -72,12 +73,10 @@ TreeVncProtocol t = new TreeVncProtocol(hostname, port); t.findRootReply(vps.getRfb().getAcceptPort()); - } else { - if (receiverTask != null) { - receiverTask.setReader(new Reader(new ByteArrayInputStream(reply))); - if (receiverTask.getMessageId() == FRAMEBUFFER_UPDATE) { - receiverTask.framebufferUpdateMessage(); - } + } else if (receiverTask != null) { + receiverTask.setReader(new Reader(new ByteArrayInputStream(reply))); + if (receiverTask.getMessageId() == FRAMEBUFFER_UPDATE) { + receiverTask.framebufferUpdateMessage(); } } } diff -r af958194248b -r 3fe7e1a372df src/viewer_swing/java/com/glavsoft/viewer/ConnectionPresenter.java --- a/src/viewer_swing/java/com/glavsoft/viewer/ConnectionPresenter.java Mon Feb 18 18:46:23 2019 +0900 +++ b/src/viewer_swing/java/com/glavsoft/viewer/ConnectionPresenter.java Tue Feb 19 15:59:50 2019 +0900 @@ -64,6 +64,8 @@ private NetworkConnectionWorker networkConnectionWorker; private boolean needReconnection = true; private boolean isTreeVNC = false; + + private boolean useMulticast = false; private boolean cuiVersion; private boolean noConnection = false; public ViewerInterface viewer; @@ -461,4 +463,11 @@ this.singleHeight = signleHeight; } + public void setMulticast(boolean b) { + useMulticast = b; + } + + public boolean isUseMulticast() { + return useMulticast; + } } diff -r af958194248b -r 3fe7e1a372df src/viewer_swing/java/com/glavsoft/viewer/TreeViewer.java --- a/src/viewer_swing/java/com/glavsoft/viewer/TreeViewer.java Mon Feb 18 18:46:23 2019 +0900 +++ b/src/viewer_swing/java/com/glavsoft/viewer/TreeViewer.java Tue Feb 19 15:59:50 2019 +0900 @@ -26,6 +26,7 @@ private boolean logFile = false; private boolean filterSingleDisplay = false; private boolean direct = false; + private boolean useMulticast = false; public static void main(String[] args) throws SocketException, UnknownHostException { @@ -161,6 +162,9 @@ } else if ("--checkDelay".equals(args[i])) { // check flow of data delay. checkDelay = true; + } else if ("--useMulticast".equals(args[i])) { + // check flow of data delay. + useMulticast = true; } else if ("--addSerialNum".equals(args[i])) { // add data serial number. addSerialNum = true; @@ -197,6 +201,7 @@ + "--height h: Set display height.\n" + "--showTree: Show connected tree node.\n" + "--checkDelay: Check speed flow of data each node.\n" + + "--useMulticast: Use Multicast\n" + "--logFile logFileName: Set log file name.\n" + "--fixingSize w h: Fix share screen size.\n" + "--addSerialNum: Check lost data.\n"); @@ -210,6 +215,9 @@ v.setWidth(width); v.setHeight(height); } + if (useMulticast) { + v.getConnectionPresenter().setMulticast(true); + } } public void setFixingSizeDisplay(ViewerInterface v) { diff -r af958194248b -r 3fe7e1a372df src/viewer_swing/java/com/glavsoft/viewer/Viewer.java --- a/src/viewer_swing/java/com/glavsoft/viewer/Viewer.java Mon Feb 18 18:46:23 2019 +0900 +++ b/src/viewer_swing/java/com/glavsoft/viewer/Viewer.java Tue Feb 19 15:59:50 2019 +0900 @@ -350,19 +350,20 @@ private ConnectionPresenter createNewConnectionPresenter(String hostName, short newVNCServerId, int x, int y, int width, int height, int scale) { final boolean hasJsch = checkJsch(); final boolean allowInteractive = allowAppletInteractiveConnections || ! isApplet; - final ConnectionPresenter connectionPresenter = new ConnectionPresenter(hasJsch, allowInteractive); + final ConnectionPresenter connectionPresenter1 = new ConnectionPresenter(hasJsch, allowInteractive); ConnectionParams connectionParams = new ConnectionParams(); connectionParams.setConnectionParam(hostName, vncport); - connectionPresenter.addModel("ConnectionParamsModel", connectionParams); - connectionPresenter.setConnectionParams(connectionParams); - connectionPresenter.setReconnectingId(newVNCServerId); - connectionPresenter.setIsTreeVNC(true); - connectionPresenter.setNoConnection(false); - connectionPresenter.setX(x); - connectionPresenter.setY(y); - connectionPresenter.setSingleWidth(width); - connectionPresenter.setSingleHeight(height); - connectionPresenter.setRetinaScale(scale); + connectionPresenter1.addModel("ConnectionParamsModel", connectionParams); + connectionPresenter1.setConnectionParams(connectionParams); + connectionPresenter1.setReconnectingId(newVNCServerId); + connectionPresenter1.setIsTreeVNC(true); + connectionPresenter1.setNoConnection(false); + connectionPresenter1.setX(x); + connectionPresenter1.setY(y); + connectionPresenter1.setSingleWidth(width); + connectionPresenter1.setSingleHeight(height); + connectionPresenter1.setRetinaScale(scale); + connectionPresenter1.setMulticast(connectionPresenter.isUseMulticast()); // System.out.println("Sarver change accepted from id :" + newVNCServerId); return connectionPresenter; }