Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/ruby -w
- require 'io/wait'
- require 'socket'
- require 'thread'
- listenIp = "0.0.0.0"
- listenPort = 1234
- server = TCPServer.new(listenIp,listenPort)
- server.setsockopt(Socket::IPPROTO_TCP, Socket::TCP_NODELAY, true)
- server_thread = Thread.new do
- begin
- thisThread = Thread.new(session = server.accept) do |thisSession|
- 5.times do |i|
- puts "Server: Listening...#{i}"
- fromClient = thisSession.gets
- thisSession.write(fromClient)
- end
- end
- rescue StandardError => bang
- puts "show error: #{bang}"
- raise
- end
- end
- sleep 2
- s = TCPSocket.new 'localhost', listenPort
- receive_thread = Thread.start do
- begin
- 5.times do |i|
- puts "Receive: Listening...#{i}"
- s.gets
- end
- rescue Object
- puts $!.message
- end
- end
- 5.times do |i|
- s.puts i.to_s
- end
- receive_thread.join
- server_thread.join
Add Comment
Please, Sign In to add comment