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])