33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
# File 'lib/netz/client.rb', line 33
def add_peer(peer_socket)
@port += 1
Thread.new do
peer_server = TCPServer.open @port
puts "waiting for peer on per-peer port #{@port}"
peer = peer_server.accept
puts "accepted peer."
@peers.push(peer)
end
peer_socket << [@port].pack("I")
peer_socket << [@peers.size].pack("I")
@peers.each do |peer_socket|
to_send_address = peer_socket.peeraddr[3].split(":").last
peer_socket << [to_send_address.length].pack("I")
peer_socket << to_send_address
end
end
|