Guest User

Untitled

a guest
May 26th, 2018
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.89 KB | None | 0 0
  1. #!/usr/bin/ruby -w
  2.  
  3. require 'io/wait'
  4. require 'socket'
  5. require 'thread'
  6.  
  7. listenIp = "0.0.0.0"
  8. listenPort = 1234
  9.  
  10. server = TCPServer.new(listenIp,listenPort)
  11. server.setsockopt(Socket::IPPROTO_TCP, Socket::TCP_NODELAY, true)
  12.  
  13. server_thread = Thread.new do
  14. begin
  15. thisThread = Thread.new(session = server.accept) do |thisSession|
  16. 5.times do |i|
  17. puts "Server: Listening...#{i}"
  18. fromClient = thisSession.gets
  19. thisSession.write(fromClient)
  20. end
  21. end
  22. rescue StandardError => bang
  23. puts "show error: #{bang}"
  24. raise
  25. end
  26. end
  27.  
  28. sleep 2
  29.  
  30. s = TCPSocket.new 'localhost', listenPort
  31.  
  32. receive_thread = Thread.start do
  33. begin
  34. 5.times do |i|
  35. puts "Receive: Listening...#{i}"
  36. s.gets
  37. end
  38. rescue Object
  39. puts $!.message
  40. end
  41. end
  42.  
  43. 5.times do |i|
  44. s.puts i.to_s
  45. end
  46.  
  47. receive_thread.join
  48. server_thread.join
Add Comment
Please, Sign In to add comment