summaryrefslogtreecommitdiffstats
path: root/java/com/tigervnc/vncviewer/VncViewer.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/tigervnc/vncviewer/VncViewer.java')
-rw-r--r--java/com/tigervnc/vncviewer/VncViewer.java26
1 files changed, 13 insertions, 13 deletions
diff --git a/java/com/tigervnc/vncviewer/VncViewer.java b/java/com/tigervnc/vncviewer/VncViewer.java
index 97b9427c..c080f98c 100644
--- a/java/com/tigervnc/vncviewer/VncViewer.java
+++ b/java/com/tigervnc/vncviewer/VncViewer.java
@@ -34,14 +34,13 @@ import java.awt.Image;
import java.io.InputStream;
import java.io.IOException;
import java.lang.Character;
-import java.net.ServerSocket;
-import java.net.Socket;
import java.util.jar.Attributes;
import java.util.jar.Manifest;
import javax.swing.*;
import com.tigervnc.rdr.*;
import com.tigervnc.rfb.*;
+import com.tigervnc.network.*;
public class VncViewer extends java.applet.Applet implements Runnable
{
@@ -193,31 +192,32 @@ public class VncViewer extends java.applet.Applet implements Runnable
public void run() {
CConn cc = null;
Socket sock = null;
+
if (listenMode.getValue()) {
int port = 5500;
- ServerSocket listener = null;
+
if (vncServerName.getValue() != null &&
Character.isDigit(vncServerName.getValue().charAt(0)))
port = Integer.parseInt(vncServerName.getValue());
+ TcpListener listener = null;
try {
- listener = new ServerSocket(port);
- } catch (IOException e) {
- System.out.println("Could not listen on port: "+port);
- System.exit(-1);
+ listener = new TcpListener(null, port);
+ } catch (java.lang.Exception e) {
+ System.out.println(e.toString());
+ System.exit(1);
}
vlog.info("Listening on port "+port);
- try {
+ while (true) {
sock = listener.accept();
- listener.close();
- } catch (IOException e) {
- System.out.println("Accept failed: "+port);
- System.exit(-1);
+ if (sock != null)
+ break;
+ //listener.close();
}
-
}
+
try {
cc = new CConn(this, sock, vncServerName.getValue(), false);
while (true)