annotate src/viewer_swing/java/com/glavsoft/viewer/TreeConnectionManager.java @ 41:0f260079879f

add setReuseAddress
author one
date Mon, 22 Oct 2012 17:51:02 +0900
parents 1b81deb0abb3
children 20326a4b9d88
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 package com.glavsoft.viewer;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 import java.awt.event.WindowListener;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 import java.io.IOException;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 import java.net.Socket;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 import java.net.UnknownHostException;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7
35
1b81deb0abb3 write a little part reconnection.
one
parents: 34
diff changeset
8 import jp.ac.u_ryukyu.treevnc.MyRfbProto;
12
12c3a73be47f rename package
one
parents: 11
diff changeset
9 import jp.ac.u_ryukyu.treevnc.client.GetDataClient;
12c3a73be47f rename package
one
parents: 11
diff changeset
10 import jp.ac.u_ryukyu.treevnc.client.GetHostClient;
32
758d025ee24b add TextBox.java
one
parents: 28
diff changeset
11 import jp.ac.u_ryukyu.treevnc.client.EchoClient;
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 import com.glavsoft.rfb.protocol.ProtocolSettings;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 import com.glavsoft.viewer.swing.ParametersHandler;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 public class TreeConnectionManager extends ConnectionManager {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 /**
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 *
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 */
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 private static final long serialVersionUID = 1L;
32
758d025ee24b add TextBox.java
one
parents: 28
diff changeset
22
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 public TreeConnectionManager(WindowListener appWindowListener,
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 boolean isApplet) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 super(appWindowListener, isApplet);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 }
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
27
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 @Override
35
1b81deb0abb3 write a little part reconnection.
one
parents: 34
diff changeset
29 public Socket connectToHost(final ParametersHandler.ConnectionParams connectionParams,
1b81deb0abb3 write a little part reconnection.
one
parents: 34
diff changeset
30 ProtocolSettings settings, MyRfbProto rfb) {
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 Socket socket = null;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 GetHostClient bCast = new GetHostClient("who");
34
f70008073a03 add TreeViewer.java
one
parents: 33
diff changeset
33 bCast.getHost();
32
758d025ee24b add TextBox.java
one
parents: 28
diff changeset
34 GetDataClient getBcast = new GetDataClient();
758d025ee24b add TextBox.java
one
parents: 28
diff changeset
35 Thread runBcast = new Thread(getBcast);
758d025ee24b add TextBox.java
one
parents: 28
diff changeset
36 runBcast.start();
758d025ee24b add TextBox.java
one
parents: 28
diff changeset
37 connectionParams.hostName = getBcast.textAddress();
34
f70008073a03 add TreeViewer.java
one
parents: 33
diff changeset
38 getBcast.interrupt();
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 if("notFound".equals(connectionParams.hostName)) {
32
758d025ee24b add TextBox.java
one
parents: 28
diff changeset
40 // connectionParams.portNumber = Integer.parseInt(getBcast.textPort());
758d025ee24b add TextBox.java
one
parents: 28
diff changeset
41 connectionParams.portNumber = 5900;
758d025ee24b add TextBox.java
one
parents: 28
diff changeset
42 } else {
33
9d3478d11d3b Add the processing of client
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
43 // getBcast.ipRegister();
9d3478d11d3b Add the processing of client
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
44 EchoClient echo = new EchoClient(getBcast.textAddress(),9999);
35
1b81deb0abb3 write a little part reconnection.
one
parents: 34
diff changeset
45 rfb.setEcho(echo);
33
9d3478d11d3b Add the processing of client
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
46 echo.getParentName();
9d3478d11d3b Add the processing of client
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
47 connectionParams.hostName = echo.parentAddress;
9d3478d11d3b Add the processing of client
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
48 connectionParams.portNumber = Integer.parseInt(getBcast.textPort()); // I should get port number
9d3478d11d3b Add the processing of client
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
49 // connectionParams.hostName = getBcast.textAddress();
9d3478d11d3b Add the processing of client
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
50 // connectionParams.portNumber = Integer.parseInt(getBcast.textPort());
9d3478d11d3b Add the processing of client
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
51 // connectionParams.portNumber = 5900;
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 }
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 Viewer.logger.info("Connecting to host " + connectionParams.hostName + ":" + connectionParams.portNumber);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 try {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
55 socket = new Socket(connectionParams.hostName, connectionParams.portNumber);
41
0f260079879f add setReuseAddress
one
parents: 35
diff changeset
56 socket.setReuseAddress(true);
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
57 } catch (UnknownHostException e) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
58 Viewer.logger.severe("Unknown host: " + connectionParams.hostName);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
59 showConnectionErrorDialog("Unknown host: '" + connectionParams.hostName + "'");
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
60 } catch (IOException e) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
61 Viewer.logger.severe("Couldn't connect to: " +
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
62 connectionParams.hostName + ":" + connectionParams.portNumber +
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
63 ": " + e.getMessage());
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
64 showConnectionErrorDialog("Couldn't connect to: '" + connectionParams.hostName +
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
65 "'\n" + e.getMessage());
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
66 }
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
67 return socket;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
68 }
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
69
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
70 }