Mercurial > hg > Members > riono > TreeVNC_ja_comment
comparison src/main/java/jp/ac/u_ryukyu/treevnc/BroadcastRFBListener.java @ 521:3fc0fedbc3fd
try catch in loop
author | mir3636 |
---|---|
date | Fri, 22 Feb 2019 16:07:03 +0900 |
parents | 3a9dadc8821f |
children | dca83cc39438 |
comparison
equal
deleted
inserted
replaced
520:3a9dadc8821f | 521:3fc0fedbc3fd |
---|---|
42 try { | 42 try { |
43 soc.joinGroup(InetAddress.getByName(McastAddr)); | 43 soc.joinGroup(InetAddress.getByName(McastAddr)); |
44 } catch (SocketException e) { | 44 } catch (SocketException e) { |
45 System.out.println("join to " + Ipv4McastAddr + " failed."); | 45 System.out.println("join to " + Ipv4McastAddr + " failed."); |
46 } | 46 } |
47 try { | 47 /*try { |
48 soc.joinGroup(InetAddress.getByName(Ipv6McastAddr)); | 48 soc.joinGroup(InetAddress.getByName(Ipv6McastAddr)); |
49 } catch (SocketException e) { | 49 } catch (SocketException e) { |
50 System.out.println("join to " + Ipv6McastAddr + " failed."); | 50 System.out.println("join to " + Ipv6McastAddr + " failed."); |
51 } | 51 }*/ |
52 return soc; | 52 return soc; |
53 } | 53 } |
54 | 54 |
55 /** | 55 /** |
56 * To find TreeVNC root, a client sends me a multicast, reply our address to him. | 56 * To find TreeVNC root, a client sends me a multicast, reply our address to him. |
57 * It contains a port to receive, so multiple TREEVNC clients can run on a PC. | 57 * It contains a port to receive, so multiple TREEVNC clients can run on a PC. |
58 */ | 58 */ |
59 private void rfbBroadcastLoop() { | 59 private void rfbBroadcastLoop() { |
60 byte[] buf = new byte[BufSize]; | 60 byte[] buf = new byte[BufSize]; |
61 try { | |
62 | 61 |
63 DatagramPacket recvPacket = new DatagramPacket(buf, BufSize); | 62 DatagramPacket recvPacket = new DatagramPacket(buf, BufSize); |
64 while (!stopFlag) { | 63 while (!stopFlag) { |
64 try { | |
65 soc.receive(recvPacket); | 65 soc.receive(recvPacket); |
66 String hostname = recvPacket.getAddress().getHostAddress(); | 66 String hostname = recvPacket.getAddress().getHostAddress(); |
67 byte[] reply = recvPacket.getData(); | 67 byte[] reply = recvPacket.getData(); |
68 int len = recvPacket.getLength(); | 68 int len = recvPacket.getLength(); |
69 boolean isTreeRoot = rfb.isTreeManager(); | 69 boolean isTreeRoot = rfb.isTreeManager(); |
70 if (isTreeRoot && receiverTask != null ) { | 70 if (isTreeRoot && receiverTask != null) { |
71 receiverTask.setReader(new Reader(new ByteArrayInputStream(reply))); | 71 receiverTask.setReader(new Reader(new ByteArrayInputStream(reply))); |
72 if (receiverTask.getMessageId() == FRAMEBUFFER_UPDATE) { | 72 if (receiverTask.getMessageId() == FRAMEBUFFER_UPDATE) { |
73 receiverTask.framebufferUpdateMessage(); | 73 receiverTask.framebufferUpdateMessage(); |
74 } | 74 } |
75 } | 75 } |
76 } catch (Exception e) { | |
77 System.out.println("broadcast-rfb-listener :" + e.getMessage()); | |
76 } | 78 } |
77 } catch (Exception e) { | |
78 System.out.println("tree-root-find-listener :" + e.getMessage()); | |
79 } | 79 } |
80 } | 80 } |
81 | 81 |
82 public void multicastUpdateRectangle(ByteBuffer buf) { | 82 public void multicastUpdateRectangle(ByteBuffer buf) { |
83 | 83 |
84 try { | 84 /*try { |
85 DatagramPacket sendPacket = new DatagramPacket(buf.array | 85 DatagramPacket sendPacket = new DatagramPacket(buf.array |
86 (), buf.limit(), InetAddress.getByName(TreeRootFinderListener.Ipv6McastAddr), ConnectionParams.DEFAULT_VNC_BROADCAST); | 86 (), buf.limit(), InetAddress.getByName(TreeRootFinderListener.Ipv6McastAddr), ConnectionParams.DEFAULT_VNC_BROADCAST); |
87 soc.send(sendPacket); | 87 soc.send(sendPacket); |
88 } catch (IOException e) { | 88 } catch (IOException e) { |
89 System.out.println("cannot send UpdateRectangle."); | 89 System.out.println("cannot send UpdateRectangle."); |
90 e.printStackTrace(); | 90 e.printStackTrace(); |
91 } | 91 }*/ |
92 | 92 |
93 try { | 93 try { |
94 DatagramPacket sendPacket1 = new DatagramPacket(buf.array(), buf.limit(), InetAddress.getByName(TreeRootFinderListener.Ipv4McastAddr), ConnectionParams.DEFAULT_VNC_BROADCAST); | 94 DatagramPacket sendPacket1 = new DatagramPacket(buf.array(), buf.limit(), InetAddress.getByName(TreeRootFinderListener.Ipv4McastAddr), ConnectionParams.DEFAULT_VNC_BROADCAST); |
95 soc.send(sendPacket1); | 95 soc.send(sendPacket1); |
96 } catch (IOException e) { | 96 } catch (IOException e) { |