TIPCSocket
Ruby bindings for the TIPC native socket API.
Installing TIPCSocket
Get TIPCSocket from RubyForge.
$ gem install tipcsocket
Example
Server:
require 'rubygems'
require 'tipcsocket'
include TIPCSocket::Constants
server_addr = TIPCNameSeq.new(18888, 17, 17, TIPC_ZONE_SCOPE)
s = TIPCSocket.new(:rdm)
s.bind(server_addr)
data, client = s.recvfrom(65535)
client = TIPCSocket.unpack_sockaddr(client)
p client
puts "server: message received: #{data}"
s.send("hello client!", 0, client)
s.close
Client:
require 'rubygems'
require 'tipcsocket'
include TIPCSocket::Constants
server_addr = TIPCName.new(18888, 17, TIPC_NODE_SCOPE)
s = TIPCSocket.new(:rdm)
s.send("hello server!", 0, server_addr)
msg = s.recv(65535)
puts "client: received response: #{msg}"
s.close
Server Output:
$ ruby server.rb
#<TIPCPortId:0xb79c89a4 @family=30, @ref=2292940796, @scope=0, @addrtype=3, @node=0>
server: message received: hello server!
Client Output:
$ ruby client.rb
client: received response: hello client!
More Examples
See the demo/ directory for more examples.
Project Page
rubyforge.org/projects/tipcsocket
Author
Corey Burrows ([email protected])