dango_generator 0.2.6 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/dango_generator.rb +2 -2
- data/lib/dango_generator.rb +7 -0
- data/templates/as3/org/rubyforge/dango/DangoClientFramework.as +18 -10
- data/templates/{dango/config → config/dango}/development.yml +0 -0
- data/templates/{dango/config → config/dango}/production.yml +0 -0
- data/templates/{dango/config → config/dango}/system_message.yml +0 -0
- data/templates/{dango/config → config/dango}/test.yml +0 -0
- data/templates/script/dango_server +23 -14
- metadata +7 -6
data/dango_generator.rb
CHANGED
@@ -40,14 +40,14 @@ class DangoGenerator < Rails::Generator::NamedBase
|
|
40
40
|
m.template "dango/client_swf/DangoConfig.as" , "dango/client_swf/DangoConfig.as"
|
41
41
|
|
42
42
|
# dangoコンフィグ
|
43
|
-
m.directory 'dango
|
43
|
+
m.directory 'config/dango'
|
44
44
|
%w(
|
45
45
|
development.yml
|
46
46
|
test.yml
|
47
47
|
production.yml
|
48
48
|
system_message.yml
|
49
49
|
).each do |as3_file|
|
50
|
-
m.template "dango
|
50
|
+
m.template "config/dango/#{as3_file}", "config/dango/#{as3_file}"
|
51
51
|
end
|
52
52
|
|
53
53
|
# dangoのas3ライブラリ
|
@@ -27,6 +27,8 @@ package org.rubyforge.dango {
|
|
27
27
|
private var socket:Socket; //ソケット
|
28
28
|
private var dispatcher:EventDispatcher; // Event送出用
|
29
29
|
|
30
|
+
private var default_encode_type:uint = 0; // 送信データのエンコードタイプはJSON
|
31
|
+
|
30
32
|
private var is_debug:Boolean; // Debugモードかどうかのフラグ
|
31
33
|
private var is_connect:Boolean = false; // 接続完了しているかどうか
|
32
34
|
|
@@ -85,12 +87,17 @@ package org.rubyforge.dango {
|
|
85
87
|
// var policy_file_port:uint = config.policy_file_port;
|
86
88
|
var policy_file_path:String = config.policy_file_path;
|
87
89
|
|
90
|
+
if(is_debug){ trace("flash player: " + Capabilities.version); }
|
91
|
+
if(is_debug){ trace("isDebugger: " + Capabilities.isDebugger); }
|
92
|
+
if(is_debug){ trace("language: " + Capabilities.language); }
|
93
|
+
if(is_debug){ trace("os: " + Capabilities.os); }
|
94
|
+
if(is_debug){ trace("frame_rate: " + frame_rate); }
|
88
95
|
|
89
96
|
// Event送出用
|
90
97
|
dispatcher = new EventDispatcher(this);
|
91
98
|
|
92
99
|
// Security.sandboxType
|
93
|
-
trace("Security.sandboxType:" + Security.sandboxType);
|
100
|
+
if(is_debug){ trace("Security.sandboxType:" + Security.sandboxType); }
|
94
101
|
|
95
102
|
// policy_file
|
96
103
|
// if(!policy_file_protocol){ policy_file_protocol = "http" };
|
@@ -118,17 +125,17 @@ package org.rubyforge.dango {
|
|
118
125
|
// url_load_policy_file = "xmlsocket://" + server_host + ":" + server_port;
|
119
126
|
// url_load_policy_file = "http://aiarebaba.hi-fi-net.com/crossdomain.xml";
|
120
127
|
url_load_policy_file = "http://" + server_host + policy_file_path;
|
121
|
-
trace("url_load_policy_file=" + url_load_policy_file);
|
128
|
+
if(is_debug){ trace("url_load_policy_file=" + url_load_policy_file); }
|
122
129
|
Security.loadPolicyFile(url_load_policy_file);
|
123
130
|
}
|
124
131
|
|
125
132
|
// 接続
|
126
133
|
try{
|
127
|
-
trace("connectiong... host=" + server_host + " port=" + server_port);
|
134
|
+
if(is_debug){ trace("connectiong... host=" + server_host + " port=" + server_port); }
|
128
135
|
socket.connect(server_host, server_port);
|
129
|
-
trace("connected host=" + server_host + " port=" + server_port);
|
136
|
+
if(is_debug){ trace("connected host=" + server_host + " port=" + server_port); }
|
130
137
|
} catch(err:Error){
|
131
|
-
trace("connect error err=" + err + " name=" + err.name + " message=" + err.message);
|
138
|
+
if(is_debug){ trace("connect error err=" + err + " name=" + err.name + " message=" + err.message); }
|
132
139
|
return(void);
|
133
140
|
}
|
134
141
|
|
@@ -283,7 +290,7 @@ package org.rubyforge.dango {
|
|
283
290
|
|
284
291
|
// 前回から時間がかかりすぎている(処理落ちしかけている場合は)スキップ
|
285
292
|
var start_date:Date = new Date();
|
286
|
-
if(recv_do_last_date.time > start_date.time - (Number(recv_do_timer_msec) * 1.
|
293
|
+
if(recv_do_last_date.time > start_date.time - (Number(recv_do_timer_msec) * 1.4)){
|
287
294
|
if(recv_wait_do_cache.length > 0){
|
288
295
|
var recv_arr:Array = recv_wait_do_cache.shift();
|
289
296
|
var notice_name:String = recv_arr[0];
|
@@ -299,6 +306,7 @@ package org.rubyforge.dango {
|
|
299
306
|
if(is_debug){ trace("DangoClientFramework:dispatchEvent:dango_" + notice_name + " server_time=" + server_time); }
|
300
307
|
this.dispatchEvent(new DangoReceiveEvent("dango__before_filter", recv_data, count_no));
|
301
308
|
this.dispatchEvent(new DangoReceiveEvent("dango_" + notice_name, recv_data, count_no));
|
309
|
+
this.dispatchEvent(new DangoReceiveEvent("dango__after_filter", recv_data, count_no));
|
302
310
|
}
|
303
311
|
}
|
304
312
|
}
|
@@ -403,7 +411,7 @@ package org.rubyforge.dango {
|
|
403
411
|
public function send_data_to_server( send_obj:Array ):void {
|
404
412
|
// if(is_debug){ trace("DangoClientFramework:send_data_to_server:send_obj=" + ObjectUtil.toString(send_obj)); }
|
405
413
|
|
406
|
-
var
|
414
|
+
var encode_type:uint = default_encode_type;
|
407
415
|
|
408
416
|
// データが空ならJSONencodeしない
|
409
417
|
var send_obj_str:String;
|
@@ -415,11 +423,11 @@ package org.rubyforge.dango {
|
|
415
423
|
|
416
424
|
var send_obj_size:int = DangoUtil.string_byte_length(send_obj_str);
|
417
425
|
|
418
|
-
// if(is_debug){ trace("DangoClientFramework:send:" +
|
426
|
+
// if(is_debug){ trace("DangoClientFramework:send:" + encode_type + ":" + send_obj_size + ":" + send_obj_str); }
|
419
427
|
|
420
428
|
// 長さ送信
|
421
429
|
var byte_array:ByteArray = new ByteArray;
|
422
|
-
byte_array.writeByte(
|
430
|
+
byte_array.writeByte(encode_type);
|
423
431
|
byte_array.writeUnsignedInt(send_obj_size);
|
424
432
|
|
425
433
|
socket.writeBytes(byte_array, 0, 5);
|
@@ -469,7 +477,7 @@ package org.rubyforge.dango {
|
|
469
477
|
return([]);
|
470
478
|
}
|
471
479
|
|
472
|
-
var
|
480
|
+
var encode_type:int = byte_array_size.readByte();
|
473
481
|
recv_not_yet_size = byte_array_size.readUnsignedInt();
|
474
482
|
var crlf:String = byte_array.readUTFBytes(1);
|
475
483
|
byte_read_size -= 6;
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -3,28 +3,37 @@
|
|
3
3
|
puts "Booting DangoServer..."
|
4
4
|
require File.dirname(__FILE__) + '/../config/boot'
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
# 環境によるコンフィグ読み込み
|
10
|
-
env = ENV['RAILS_ENV'] || 'development'
|
11
|
-
env = ARGV[0] if ARGV[0]
|
12
|
-
config = YAML.load(open("dango/config/#{env}.yml", "rb"){|fh| fh.read})
|
13
|
-
puts "environment=#{env}"
|
6
|
+
CanReadOptionServer = %w(host max_connections log_file log_level log_max_size log_shift_age gserver_log_file)
|
7
|
+
CanReadOptionNetwork = %w(host port)
|
14
8
|
|
15
|
-
#
|
9
|
+
# コマンドラインオプション取得とコンフィグの上書き
|
10
|
+
require 'getoptlong.rb'
|
16
11
|
opt_parser = GetoptLong.new
|
17
12
|
|
18
|
-
|
19
|
-
|
20
|
-
config["
|
21
|
-
|
22
|
-
|
13
|
+
options_arr = []
|
14
|
+
#config["server"].each{|k, v| options_arr.push("server:#{k}") }
|
15
|
+
#config["network"].each{|k, v| options_arr.push("network:#{k}") }
|
16
|
+
CanReadOptionServer.each{|k, v| options_arr.push("server:#{k}") }
|
17
|
+
CanReadOptionNetwork.each{|k, v| options_arr.push("network:#{k}") }
|
18
|
+
|
19
|
+
options_set_options = options_arr.uniq.collect{|o| ["--#{o}", GetoptLong::OPTIONAL_ARGUMENT] }
|
20
|
+
options_set_options << ["--dango", GetoptLong::OPTIONAL_ARGUMENT]
|
21
|
+
options_set_options << ["-e", GetoptLong::OPTIONAL_ARGUMENT]
|
22
|
+
|
23
23
|
opt_parser.set_options(*options_set_options)
|
24
24
|
|
25
25
|
start_options = {}
|
26
26
|
opt_parser.each_option{|n,a| start_options[n] = a}
|
27
27
|
|
28
|
+
|
29
|
+
# 環境によるコンフィグ読み込み
|
30
|
+
require "yaml"
|
31
|
+
ENV['RAILS_ENV'] = start_options['-e'] if start_options['-e']
|
32
|
+
env = ENV['RAILS_ENV'] || 'development'
|
33
|
+
config_file = "config/dango/#{env}.yml"
|
34
|
+
puts "loading config file:#{config_file}"
|
35
|
+
config = YAML.load(open(config_file, "rb"){|fh| fh.read})
|
36
|
+
|
28
37
|
# rubygems
|
29
38
|
require 'rubygems'
|
30
39
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dango_generator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Keisuke Minami
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-06-
|
12
|
+
date: 2008-06-20 00:00:00 +09:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|
@@ -27,6 +27,7 @@ files:
|
|
27
27
|
- README.txt
|
28
28
|
- LICENSE
|
29
29
|
- dango_generator.rb
|
30
|
+
- lib/dango_generator.rb
|
30
31
|
- templates/script/dango_server
|
31
32
|
- templates/lib/dango_monitor_client.rb
|
32
33
|
- templates/lib/dango_tester_client.rb
|
@@ -34,10 +35,10 @@ files:
|
|
34
35
|
- templates/public/crossdomain.xml
|
35
36
|
- templates/dango/server/99_dango_server.rb
|
36
37
|
- templates/dango/client_swf/DangoConfig.as
|
37
|
-
- templates/dango/
|
38
|
-
- templates/dango/
|
39
|
-
- templates/dango/
|
40
|
-
- templates/dango/
|
38
|
+
- templates/config/dango/development.yml
|
39
|
+
- templates/config/dango/test.yml
|
40
|
+
- templates/config/dango/production.yml
|
41
|
+
- templates/config/dango/system_message.yml
|
41
42
|
- templates/as3/org/rubyforge/dango/DangoClientFramework.as
|
42
43
|
- templates/as3/org/rubyforge/dango/DangoError.as
|
43
44
|
- templates/as3/org/rubyforge/dango/DangoErrorCode.as
|