rendezvous-socket 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +2 -9
- data/lib/rendezvous/socket/version.rb +1 -1
- metadata +3 -5
- data/bin/rendezvous-server +0 -42
data/README.md
CHANGED
@@ -22,18 +22,11 @@ Or install it yourself as:
|
|
22
22
|
|
23
23
|
## Usage
|
24
24
|
|
25
|
-
1. Deploy the server
|
26
|
-
|
27
|
-
```bash
|
28
|
-
git clone https://github.com/mikehale/rendezvous-server.git
|
29
|
-
heroku create
|
30
|
-
git push heroku master
|
31
|
-
heroku labs:enable websockets
|
32
|
-
```
|
25
|
+
1. [Deploy the server](https://github.com/mikehale/rendezvous-server#heroku-deploy)
|
33
26
|
2. On 2 peer machines that wish to establish a direct connection with each other run the client.
|
34
27
|
|
35
28
|
```bash
|
36
|
-
RENDEZVOUS_URL=https://rendezvous-server.herokuapp.com
|
29
|
+
RENDEZVOUS_URL=https://rendezvous-server.herokuapp.com rendezvous-client
|
37
30
|
```
|
38
31
|
|
39
32
|
You will know it worked when you see the hostname of each peer in the
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rendezvous-socket
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -73,7 +73,6 @@ email:
|
|
73
73
|
- mike@hales.ws
|
74
74
|
executables:
|
75
75
|
- rendezvous-client
|
76
|
-
- rendezvous-server
|
77
76
|
extensions: []
|
78
77
|
extra_rdoc_files: []
|
79
78
|
files:
|
@@ -84,7 +83,6 @@ files:
|
|
84
83
|
- README.md
|
85
84
|
- Rakefile
|
86
85
|
- bin/rendezvous-client
|
87
|
-
- bin/rendezvous-server
|
88
86
|
- lib/rendezvous/socket.rb
|
89
87
|
- lib/rendezvous/socket/accept_or_connect.rb
|
90
88
|
- lib/rendezvous/socket/custom_socket.rb
|
@@ -105,7 +103,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
105
103
|
version: '0'
|
106
104
|
segments:
|
107
105
|
- 0
|
108
|
-
hash:
|
106
|
+
hash: -2912363595695742175
|
109
107
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
110
108
|
none: false
|
111
109
|
requirements:
|
@@ -114,7 +112,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
114
112
|
version: '0'
|
115
113
|
segments:
|
116
114
|
- 0
|
117
|
-
hash:
|
115
|
+
hash: -2912363595695742175
|
118
116
|
requirements: []
|
119
117
|
rubyforge_project:
|
120
118
|
rubygems_version: 1.8.23
|
data/bin/rendezvous-server
DELETED
@@ -1,42 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
require 'socket'
|
4
|
-
require 'thread'
|
5
|
-
semaphore = Mutex.new
|
6
|
-
|
7
|
-
PEERS = []
|
8
|
-
|
9
|
-
def peer(c)
|
10
|
-
[c.peeraddr[3], c.peeraddr[1]].join(":")
|
11
|
-
end
|
12
|
-
|
13
|
-
def handle_client(client)
|
14
|
-
puts peer(client)
|
15
|
-
|
16
|
-
#semaphore.synchronize do
|
17
|
-
PEERS << client
|
18
|
-
|
19
|
-
case PEERS.size
|
20
|
-
when 0,1
|
21
|
-
#noop
|
22
|
-
when 2
|
23
|
-
peer_a = PEERS[0]
|
24
|
-
peer_b = PEERS[1]
|
25
|
-
peer_a.puts peer(peer_b)
|
26
|
-
peer_b.puts peer(peer_a)
|
27
|
-
peer_a.close
|
28
|
-
peer_b.close
|
29
|
-
PEERS.clear
|
30
|
-
else
|
31
|
-
PEERS.clear
|
32
|
-
end
|
33
|
-
#end
|
34
|
-
end
|
35
|
-
|
36
|
-
s = TCPServer.new('0.0.0.0', 5000)
|
37
|
-
loop do
|
38
|
-
Thread.start(s.accept) do |client|
|
39
|
-
handle_client(client)
|
40
|
-
end
|
41
|
-
end
|
42
|
-
s.close
|