Mercurial > hg > Members > nobuyasu > tightVNCProxy
comparison src/myVncProxy/MyRfbProto.java @ 43:08317224ce21
create RFB 003.998
author | e085711 |
---|---|
date | Thu, 23 Jun 2011 07:03:21 +0900 |
parents | dd1321b67f95 |
children | ff1d1f236c8a |
comparison
equal
deleted
inserted
replaced
42:03d2e5db2135 | 43:08317224ce21 |
---|---|
5 import java.io.BufferedOutputStream; | 5 import java.io.BufferedOutputStream; |
6 import java.io.BufferedReader; | 6 import java.io.BufferedReader; |
7 import java.io.ByteArrayInputStream; | 7 import java.io.ByteArrayInputStream; |
8 import java.io.ByteArrayOutputStream; | 8 import java.io.ByteArrayOutputStream; |
9 import java.io.IOException; | 9 import java.io.IOException; |
10 import java.io.InputStream; | |
10 import java.io.InputStreamReader; | 11 import java.io.InputStreamReader; |
11 import java.net.BindException; | 12 import java.net.BindException; |
12 import java.net.ServerSocket; | 13 import java.net.ServerSocket; |
13 import java.net.Socket; | 14 import java.net.Socket; |
14 import java.util.LinkedList; | 15 import java.util.LinkedList; |
19 import java.util.concurrent.Executors; | 20 import java.util.concurrent.Executors; |
20 import java.io.OutputStream; | 21 import java.io.OutputStream; |
21 | 22 |
22 class MyRfbProto extends RfbProto { | 23 class MyRfbProto extends RfbProto { |
23 | 24 |
25 final static String versionMsg_3_998 = "RFB 003.998\n"; | |
26 | |
27 | |
24 private int messageType; | 28 private int messageType; |
25 private int rectangles; | 29 private int rectangles; |
26 private int rectX; | 30 private int rectX; |
27 private int rectY; | 31 private int rectY; |
28 private int rectW; | 32 private int rectW; |
62 sendThreads = new LinkedList <Thread>(); | 66 sendThreads = new LinkedList <Thread>(); |
63 // executor = Executors.newCachedThreadPool(); | 67 // executor = Executors.newCachedThreadPool(); |
64 executor = Executors.newSingleThreadExecutor(); | 68 executor = Executors.newSingleThreadExecutor(); |
65 } | 69 } |
66 | 70 |
71 // override | |
72 void writeVersionMsg() throws IOException { | |
73 clientMajor = 3; | |
74 if (serverMinor >= 9) { | |
75 clientMinor = 9; | |
76 os.write(versionMsg_3_998.getBytes()); | |
77 } else if (serverMajor > 3 || serverMinor >= 8) { | |
78 clientMinor = 8; | |
79 os.write(versionMsg_3_8.getBytes()); | |
80 } else if (serverMinor >= 9) { | |
81 clientMinor = 9; | |
82 os.write(versionMsg_3_998.getBytes()); | |
83 } else if (serverMinor >= 7) { | |
84 clientMinor = 7; | |
85 os.write(versionMsg_3_7.getBytes()); | |
86 } else { | |
87 clientMinor = 3; | |
88 os.write(versionMsg_3_3.getBytes()); | |
89 } | |
90 protocolTightVNC = false; | |
91 initCapabilities(); | |
92 } | |
93 | |
94 | |
95 | |
67 void initServSock(int port) throws IOException{ | 96 void initServSock(int port) throws IOException{ |
68 servSock = new ServerSocket(port); | 97 servSock = new ServerSocket(port); |
69 acceptPort = port; | 98 acceptPort = port; |
70 } | 99 } |
71 void selectPort(){ | 100 void selectPort(){ |
158 } | 187 } |
159 | 188 |
160 inNormalProtocol = true; | 189 inNormalProtocol = true; |
161 } | 190 } |
162 | 191 |
163 void sendInitData(Socket sock) throws IOException{ | 192 void sendRfbVersion(OutputStream os) throws IOException{ |
164 sock.getOutputStream().write(initData); | 193 os.write(versionMsg_3_998.getBytes()); |
194 } | |
195 void sendSecurityType(OutputStream os) throws IOException { | |
196 // number-of-security-types | |
197 os.write(1); | |
198 // security-types | |
199 // 1:None | |
200 os.write(1); | |
201 } | |
202 void readClientInit(InputStream in) throws IOException { | |
203 byte[] b = new byte[0]; | |
204 in.read(b); | |
205 } | |
206 | |
207 void sendInitData(OutputStream os) throws IOException{ | |
208 os.write(initData); | |
165 } | 209 } |
166 | 210 |
167 void sendData(byte b[]){ | 211 void sendData(byte b[]){ |
168 try{ | 212 try{ |
169 for(Socket cli : cliList){ | 213 for(Socket cli : cliList){ |
324 break; | 368 break; |
325 default: | 369 default: |
326 } | 370 } |
327 } | 371 } |
328 } | 372 } |
373 | |
374 |