下面的代碼旨在創建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