下面的代码旨在创建TCP服务器和客户端。 但是,当客户端线程的数量太大(例如:100个线程)时,客户端会收到“由对等方重置连接”错误。我找不到错误的原因,所以我需要你的帮助。当新的TCP套接字发生“对等连接重置”错误
服务器:
#!/usr/bin/env ruby1.9
# -*- coding: utf-8 -*-
require "socket"
crab = TCPServer.new "127.0.0.1", 8087
while browser = crab.accept
Thread.new browser do | client |
puts client.gets
client.puts "hello"
client.close
end
end
客户:
#!/usr/bin/env ruby1.9
# -*- coding: utf-8 -*-
require "socket"
threads_arr = []
ARGV[0].to_i.times do
t = Thread.new do
client = TCPSocket.new "127.0.0.1", 8087
client.puts "hello"
client.gets
client.close
end
threads_arr << t
end
threads_arr.each do | t |
t.join
end
管环境:
的Mac OS X 10.6.8
红宝石1.8.7p174 /红宝石1.9.2p180
我看到的,问题是,积压太小。 – lululau