Libraryless. Click here for Pure Java version (1112L/8K/27K).
1 | !747 |
2 | |
3 | m {
|
4 | static long timeout = 5000; |
5 | |
6 | p {
|
7 | final S pivot = randomID(6); |
8 | |
9 | new L<S> myNames; |
10 | |
11 | makeAndroid_forcePublic = true; |
12 | makeAndroid_allowVMInspection = false; |
13 | Android android = makeAndroid2("", stringfunc { pivot }, false);
|
14 | ServerSocket server = startDialogServer_serverSocket; |
15 | |
16 | for (S name : litlist("tinybrain.de", "second.tinybrain.de"/*, "google.de"*/)) {
|
17 | print("Checking " + name);
|
18 | boolean result = isItMe(name, android.port, pivot, timeout); |
19 | print(" => " + result);
|
20 | if (result) myNames.add(name); |
21 | } |
22 | |
23 | print("My names: " + structure(myNames));
|
24 | |
25 | server.close(); // TODO: close the client connections |
26 | |
27 | //sleepSeconds(2); |
28 | //listUserThreadsWithStackTraces(); |
29 | //System.exit(0); |
30 | |
31 | // SHOULD now exit properly by itself |
32 | } |
33 | |
34 | !include #1000915 // Flag class |
35 | |
36 | static boolean isItMe(final String name, final int port, final S pivot, long timeout) {
|
37 | final new Flag ok; |
38 | final new Flag done; |
39 | |
40 | Thread t = new Thread("Talking to " + name + ":" + port) {
|
41 | public void run() {
|
42 | try {
|
43 | DialogIO io = talkTo(name, port); |
44 | print("Connected to " + name + ":" + port + ".");
|
45 | if (!io.waitForLine()) |
46 | return; |
47 | S line = io.readLineNoBlock(); |
48 | io.sendLine("please give pivot");
|
49 | if (!io.waitForLine()) |
50 | return; |
51 | line = io.readLineNoBlock(); |
52 | print("Line read: " + quote(line));
|
53 | io.close(); |
54 | if (pivot.equals(line)) |
55 | ok.raise(); |
56 | } catch (RuntimeException e) {
|
57 | print("[internal] " + e);
|
58 | } finally {
|
59 | done.raise(); |
60 | } |
61 | } |
62 | }; |
63 | t.start(); |
64 | |
65 | done.waitUntilUp(timeout); |
66 | print("Interrupting thread.");
|
67 | t.interrupt(); |
68 | return ok.isUp(); |
69 | } |
70 | } |
download show line numbers debug dex old transpilations
Travelled to 16 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, ishqpsrjomds, jtubtzbbkimh, lpdgvwnxivlt, mqqgnosmbjvj, onxytkatvevr, pyentgdyhuwx, pzhvpgtvlbxg, teubizvjbppd, tslmcundralx, tvejysmllsmz, vouqrxazstgt
No comments. add comment
| Snippet ID: | #1001225 |
| Snippet name: | Check my host name(s) by contacting myself |
| Eternal ID of this version: | #1001225/1 |
| Text MD5: | eaaca8ecf72fb48519d43cc31fece3f6 |
| Transpilation MD5: | 0021a390c243377a5151c440f1bb4a13 |
| Author: | stefan |
| Category: | javax |
| Type: | JavaX source code |
| Public (visible to everyone): | Yes |
| Archived (hidden from active list): | No |
| Created/modified: | 2015-10-03 19:25:19 |
| Source code size: | 1930 bytes / 70 lines |
| Pitched / IR pitched: | No / Yes |
| Views / Downloads: | 842 / 955 |
| Referenced in: | [show references] |