rendezvous-socket 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|