dango_generator 0.4.3 → 0.4.5
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 +127 -83
- data/templates/as3/org/rubyforge/dango/DangoAS3Mode.as +163 -0
- data/templates/as3/org/rubyforge/dango/DangoAS3ModeReceiveEvent.as +23 -0
- data/templates/as3/org/rubyforge/dango/DangoClientFramework.as +29 -9
- data/templates/as3/org/rubyforge/dango/DangoUtil.as +14 -2
- data/templates/sample_as3mode/dango/client_swf/bin-debug/AC_OETags.js +278 -0
- data/templates/sample_as3mode/dango/client_swf/bin-debug/playerProductInstall.swf +0 -0
- data/templates/sample_as3mode/dango/client_swf/bin-debug/sample_as3mode.html +121 -0
- data/templates/sample_as3mode/dango/client_swf/bin-debug/sample_as3mode.swf +0 -0
- data/templates/sample_as3mode/dango/client_swf/src/sample_as3mode.mxml +48 -0
- data/templates/sample_as3mode/dango/server/99_dango_server.rb +42 -0
- data/templates/sample_servermode_chat/dango/client_swf/bin-debug/AC_OETags.js +278 -0
- data/templates/sample_servermode_chat/dango/client_swf/bin-debug/playerProductInstall.swf +0 -0
- data/templates/sample_servermode_chat/dango/client_swf/bin-debug/sample_servermode_chat.html +121 -0
- data/templates/sample_servermode_chat/dango/client_swf/bin-debug/sample_servermode_chat.swf +0 -0
- data/templates/sample_servermode_chat/dango/client_swf/src/sample_servermode_chat.mxml +35 -0
- data/templates/sample_servermode_chat/dango/server/99_dango_server.rb +35 -0
- metadata +16 -2
@@ -0,0 +1,42 @@
|
|
1
|
+
=begin
|
2
|
+
= dangoサーバー
|
3
|
+
=end
|
4
|
+
|
5
|
+
class DangoServer < DangoServerFramework
|
6
|
+
# サーバー起動時のインスタンス変数などを定義するメソッド
|
7
|
+
# ここで定義されるインスタンス変数はサーバー全体で共有される
|
8
|
+
def dango_server_init()
|
9
|
+
shared[:sids] = []
|
10
|
+
end
|
11
|
+
|
12
|
+
# クライアント接続時に呼び出されるメソッド
|
13
|
+
def dango_connect()
|
14
|
+
shared.transaction(:sids) do |sids|
|
15
|
+
sids.push(session[:sid])
|
16
|
+
shared.commit(sids)
|
17
|
+
end
|
18
|
+
|
19
|
+
send_obj = {:sids => shared[:sids]} # 全員に現在のsid一覧を送る
|
20
|
+
send_notice(:notice_current_sids, shared[:sids], send_obj)
|
21
|
+
end
|
22
|
+
|
23
|
+
# クライアント接続解除時に呼び出されるメソッド
|
24
|
+
def dango_close()
|
25
|
+
shared.transaction(:sids) do |sids|
|
26
|
+
sids.delete(session[:sid])
|
27
|
+
shared.commit(sids)
|
28
|
+
end
|
29
|
+
|
30
|
+
send_obj = {:sids => shared[:sids]} # 全員に現在のsid一覧を送る
|
31
|
+
send_notice(:notice_current_sids, shared[:sids], send_obj)
|
32
|
+
end
|
33
|
+
|
34
|
+
# オブジェクトを特定sidに送信する
|
35
|
+
def dango_receive_send_object(rec_obj)
|
36
|
+
send_obj = rec_obj["object"]
|
37
|
+
send_obj[:_from_sid] = session[:sid]
|
38
|
+
send_notice(:notice_send_object, rec_obj["sids"], send_obj)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
|
@@ -0,0 +1,278 @@
|
|
1
|
+
// Flash Player Version Detection - Rev 1.6
|
2
|
+
// Detect Client Browser type
|
3
|
+
// Copyright(c) 2005-2006 Adobe Macromedia Software, LLC. All rights reserved.
|
4
|
+
var isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
|
5
|
+
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
|
6
|
+
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
|
7
|
+
|
8
|
+
function ControlVersion()
|
9
|
+
{
|
10
|
+
var version;
|
11
|
+
var axo;
|
12
|
+
var e;
|
13
|
+
|
14
|
+
// NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry
|
15
|
+
|
16
|
+
try {
|
17
|
+
// version will be set for 7.X or greater players
|
18
|
+
axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
|
19
|
+
version = axo.GetVariable("$version");
|
20
|
+
} catch (e) {
|
21
|
+
}
|
22
|
+
|
23
|
+
if (!version)
|
24
|
+
{
|
25
|
+
try {
|
26
|
+
// version will be set for 6.X players only
|
27
|
+
axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
|
28
|
+
|
29
|
+
// installed player is some revision of 6.0
|
30
|
+
// GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
|
31
|
+
// so we have to be careful.
|
32
|
+
|
33
|
+
// default to the first public version
|
34
|
+
version = "WIN 6,0,21,0";
|
35
|
+
|
36
|
+
// throws if AllowScripAccess does not exist (introduced in 6.0r47)
|
37
|
+
axo.AllowScriptAccess = "always";
|
38
|
+
|
39
|
+
// safe to call for 6.0r47 or greater
|
40
|
+
version = axo.GetVariable("$version");
|
41
|
+
|
42
|
+
} catch (e) {
|
43
|
+
}
|
44
|
+
}
|
45
|
+
|
46
|
+
if (!version)
|
47
|
+
{
|
48
|
+
try {
|
49
|
+
// version will be set for 4.X or 5.X player
|
50
|
+
axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
|
51
|
+
version = axo.GetVariable("$version");
|
52
|
+
} catch (e) {
|
53
|
+
}
|
54
|
+
}
|
55
|
+
|
56
|
+
if (!version)
|
57
|
+
{
|
58
|
+
try {
|
59
|
+
// version will be set for 3.X player
|
60
|
+
axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
|
61
|
+
version = "WIN 3,0,18,0";
|
62
|
+
} catch (e) {
|
63
|
+
}
|
64
|
+
}
|
65
|
+
|
66
|
+
if (!version)
|
67
|
+
{
|
68
|
+
try {
|
69
|
+
// version will be set for 2.X player
|
70
|
+
axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
|
71
|
+
version = "WIN 2,0,0,11";
|
72
|
+
} catch (e) {
|
73
|
+
version = -1;
|
74
|
+
}
|
75
|
+
}
|
76
|
+
|
77
|
+
return version;
|
78
|
+
}
|
79
|
+
|
80
|
+
// JavaScript helper required to detect Flash Player PlugIn version information
|
81
|
+
function GetSwfVer(){
|
82
|
+
// NS/Opera version >= 3 check for Flash plugin in plugin array
|
83
|
+
var flashVer = -1;
|
84
|
+
|
85
|
+
if (navigator.plugins != null && navigator.plugins.length > 0) {
|
86
|
+
if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
|
87
|
+
var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
|
88
|
+
var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
|
89
|
+
var descArray = flashDescription.split(" ");
|
90
|
+
var tempArrayMajor = descArray[2].split(".");
|
91
|
+
var versionMajor = tempArrayMajor[0];
|
92
|
+
var versionMinor = tempArrayMajor[1];
|
93
|
+
var versionRevision = descArray[3];
|
94
|
+
if (versionRevision == "") {
|
95
|
+
versionRevision = descArray[4];
|
96
|
+
}
|
97
|
+
if (versionRevision[0] == "d") {
|
98
|
+
versionRevision = versionRevision.substring(1);
|
99
|
+
} else if (versionRevision[0] == "r") {
|
100
|
+
versionRevision = versionRevision.substring(1);
|
101
|
+
if (versionRevision.indexOf("d") > 0) {
|
102
|
+
versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
|
103
|
+
}
|
104
|
+
} else if (versionRevision[0] == "b") {
|
105
|
+
versionRevision = versionRevision.substring(1);
|
106
|
+
}
|
107
|
+
var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
|
108
|
+
}
|
109
|
+
}
|
110
|
+
// MSN/WebTV 2.6 supports Flash 4
|
111
|
+
else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
|
112
|
+
// WebTV 2.5 supports Flash 3
|
113
|
+
else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
|
114
|
+
// older WebTV supports Flash 2
|
115
|
+
else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
|
116
|
+
else if ( isIE && isWin && !isOpera ) {
|
117
|
+
flashVer = ControlVersion();
|
118
|
+
}
|
119
|
+
return flashVer;
|
120
|
+
}
|
121
|
+
|
122
|
+
// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
|
123
|
+
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
|
124
|
+
{
|
125
|
+
versionStr = GetSwfVer();
|
126
|
+
if (versionStr == -1 ) {
|
127
|
+
return false;
|
128
|
+
} else if (versionStr != 0) {
|
129
|
+
if(isIE && isWin && !isOpera) {
|
130
|
+
// Given "WIN 2,0,0,11"
|
131
|
+
tempArray = versionStr.split(" "); // ["WIN", "2,0,0,11"]
|
132
|
+
tempString = tempArray[1]; // "2,0,0,11"
|
133
|
+
versionArray = tempString.split(","); // ['2', '0', '0', '11']
|
134
|
+
} else {
|
135
|
+
versionArray = versionStr.split(".");
|
136
|
+
}
|
137
|
+
var versionMajor = versionArray[0];
|
138
|
+
var versionMinor = versionArray[1];
|
139
|
+
var versionRevision = versionArray[2];
|
140
|
+
|
141
|
+
// is the major.revision >= requested major.revision AND the minor version >= requested minor
|
142
|
+
if (versionMajor > parseFloat(reqMajorVer)) {
|
143
|
+
return true;
|
144
|
+
} else if (versionMajor == parseFloat(reqMajorVer)) {
|
145
|
+
if (versionMinor > parseFloat(reqMinorVer))
|
146
|
+
return true;
|
147
|
+
else if (versionMinor == parseFloat(reqMinorVer)) {
|
148
|
+
if (versionRevision >= parseFloat(reqRevision))
|
149
|
+
return true;
|
150
|
+
}
|
151
|
+
}
|
152
|
+
return false;
|
153
|
+
}
|
154
|
+
}
|
155
|
+
|
156
|
+
function AC_AddExtension(src, ext)
|
157
|
+
{
|
158
|
+
if (src.indexOf('?') != -1)
|
159
|
+
return src.replace(/\?/, ext+'?');
|
160
|
+
else
|
161
|
+
return src + ext;
|
162
|
+
}
|
163
|
+
|
164
|
+
function AC_Generateobj(objAttrs, params, embedAttrs)
|
165
|
+
{
|
166
|
+
var str = '';
|
167
|
+
if (isIE && isWin && !isOpera)
|
168
|
+
{
|
169
|
+
str += '<object ';
|
170
|
+
for (var i in objAttrs)
|
171
|
+
str += i + '="' + objAttrs[i] + '" ';
|
172
|
+
str += '>';
|
173
|
+
for (var i in params)
|
174
|
+
str += '<param name="' + i + '" value="' + params[i] + '" /> ';
|
175
|
+
str += '</object>';
|
176
|
+
} else {
|
177
|
+
str += '<embed ';
|
178
|
+
for (var i in embedAttrs)
|
179
|
+
str += i + '="' + embedAttrs[i] + '" ';
|
180
|
+
str += '> </embed>';
|
181
|
+
}
|
182
|
+
|
183
|
+
document.write(str);
|
184
|
+
}
|
185
|
+
|
186
|
+
function AC_FL_RunContent(){
|
187
|
+
var ret =
|
188
|
+
AC_GetArgs
|
189
|
+
( arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
|
190
|
+
, "application/x-shockwave-flash"
|
191
|
+
);
|
192
|
+
AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
|
193
|
+
}
|
194
|
+
|
195
|
+
function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
|
196
|
+
var ret = new Object();
|
197
|
+
ret.embedAttrs = new Object();
|
198
|
+
ret.params = new Object();
|
199
|
+
ret.objAttrs = new Object();
|
200
|
+
for (var i=0; i < args.length; i=i+2){
|
201
|
+
var currArg = args[i].toLowerCase();
|
202
|
+
|
203
|
+
switch (currArg){
|
204
|
+
case "classid":
|
205
|
+
break;
|
206
|
+
case "pluginspage":
|
207
|
+
ret.embedAttrs[args[i]] = args[i+1];
|
208
|
+
break;
|
209
|
+
case "src":
|
210
|
+
case "movie":
|
211
|
+
args[i+1] = AC_AddExtension(args[i+1], ext);
|
212
|
+
ret.embedAttrs["src"] = args[i+1];
|
213
|
+
ret.params[srcParamName] = args[i+1];
|
214
|
+
break;
|
215
|
+
case "onafterupdate":
|
216
|
+
case "onbeforeupdate":
|
217
|
+
case "onblur":
|
218
|
+
case "oncellchange":
|
219
|
+
case "onclick":
|
220
|
+
case "ondblClick":
|
221
|
+
case "ondrag":
|
222
|
+
case "ondragend":
|
223
|
+
case "ondragenter":
|
224
|
+
case "ondragleave":
|
225
|
+
case "ondragover":
|
226
|
+
case "ondrop":
|
227
|
+
case "onfinish":
|
228
|
+
case "onfocus":
|
229
|
+
case "onhelp":
|
230
|
+
case "onmousedown":
|
231
|
+
case "onmouseup":
|
232
|
+
case "onmouseover":
|
233
|
+
case "onmousemove":
|
234
|
+
case "onmouseout":
|
235
|
+
case "onkeypress":
|
236
|
+
case "onkeydown":
|
237
|
+
case "onkeyup":
|
238
|
+
case "onload":
|
239
|
+
case "onlosecapture":
|
240
|
+
case "onpropertychange":
|
241
|
+
case "onreadystatechange":
|
242
|
+
case "onrowsdelete":
|
243
|
+
case "onrowenter":
|
244
|
+
case "onrowexit":
|
245
|
+
case "onrowsinserted":
|
246
|
+
case "onstart":
|
247
|
+
case "onscroll":
|
248
|
+
case "onbeforeeditfocus":
|
249
|
+
case "onactivate":
|
250
|
+
case "onbeforedeactivate":
|
251
|
+
case "ondeactivate":
|
252
|
+
case "type":
|
253
|
+
case "codebase":
|
254
|
+
ret.objAttrs[args[i]] = args[i+1];
|
255
|
+
break;
|
256
|
+
case "id":
|
257
|
+
case "width":
|
258
|
+
case "height":
|
259
|
+
case "align":
|
260
|
+
case "vspace":
|
261
|
+
case "hspace":
|
262
|
+
case "class":
|
263
|
+
case "title":
|
264
|
+
case "accesskey":
|
265
|
+
case "name":
|
266
|
+
case "tabindex":
|
267
|
+
ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
|
268
|
+
break;
|
269
|
+
default:
|
270
|
+
ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
|
271
|
+
}
|
272
|
+
}
|
273
|
+
ret.objAttrs["classid"] = classid;
|
274
|
+
if (mimeType) ret.embedAttrs["type"] = mimeType;
|
275
|
+
return ret;
|
276
|
+
}
|
277
|
+
|
278
|
+
|
Binary file
|
@@ -0,0 +1,121 @@
|
|
1
|
+
<!-- saved from url=(0014)about:internet -->
|
2
|
+
<html lang="en">
|
3
|
+
|
4
|
+
<!--
|
5
|
+
Smart developers always View Source.
|
6
|
+
|
7
|
+
This application was built using Adobe Flex, an open source framework
|
8
|
+
for building rich Internet applications that get delivered via the
|
9
|
+
Flash Player or to desktops via Adobe AIR.
|
10
|
+
|
11
|
+
Learn more about Flex at http://flex.org
|
12
|
+
// -->
|
13
|
+
|
14
|
+
<head>
|
15
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
16
|
+
|
17
|
+
<!-- BEGIN Browser History required section -->
|
18
|
+
<link rel="stylesheet" type="text/css" href="history/history.css" />
|
19
|
+
<!-- END Browser History required section -->
|
20
|
+
|
21
|
+
<title></title>
|
22
|
+
<script src="AC_OETags.js" language="javascript"></script>
|
23
|
+
|
24
|
+
<!-- BEGIN Browser History required section -->
|
25
|
+
<script src="history/history.js" language="javascript"></script>
|
26
|
+
<!-- END Browser History required section -->
|
27
|
+
|
28
|
+
<style>
|
29
|
+
body { margin: 0px; overflow:hidden }
|
30
|
+
</style>
|
31
|
+
<script language="JavaScript" type="text/javascript">
|
32
|
+
<!--
|
33
|
+
// -----------------------------------------------------------------------------
|
34
|
+
// Globals
|
35
|
+
// Major version of Flash required
|
36
|
+
var requiredMajorVersion = 9;
|
37
|
+
// Minor version of Flash required
|
38
|
+
var requiredMinorVersion = 0;
|
39
|
+
// Minor version of Flash required
|
40
|
+
var requiredRevision = 124;
|
41
|
+
// -----------------------------------------------------------------------------
|
42
|
+
// -->
|
43
|
+
</script>
|
44
|
+
</head>
|
45
|
+
|
46
|
+
<body scroll="no">
|
47
|
+
<script language="JavaScript" type="text/javascript">
|
48
|
+
<!--
|
49
|
+
// Version check for the Flash Player that has the ability to start Player Product Install (6.0r65)
|
50
|
+
var hasProductInstall = DetectFlashVer(6, 0, 65);
|
51
|
+
|
52
|
+
// Version check based upon the values defined in globals
|
53
|
+
var hasRequestedVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);
|
54
|
+
|
55
|
+
if ( hasProductInstall && !hasRequestedVersion ) {
|
56
|
+
// DO NOT MODIFY THE FOLLOWING FOUR LINES
|
57
|
+
// Location visited after installation is complete if installation is required
|
58
|
+
var MMPlayerType = (isIE == true) ? "ActiveX" : "PlugIn";
|
59
|
+
var MMredirectURL = window.location;
|
60
|
+
document.title = document.title.slice(0, 47) + " - Flash Player Installation";
|
61
|
+
var MMdoctitle = document.title;
|
62
|
+
|
63
|
+
AC_FL_RunContent(
|
64
|
+
"src", "playerProductInstall",
|
65
|
+
"FlashVars", "MMredirectURL="+MMredirectURL+'&MMplayerType='+MMPlayerType+'&MMdoctitle='+MMdoctitle+"",
|
66
|
+
"width", "100%",
|
67
|
+
"height", "100%",
|
68
|
+
"align", "middle",
|
69
|
+
"id", "sample_servermode_chat",
|
70
|
+
"quality", "high",
|
71
|
+
"bgcolor", "#869ca7",
|
72
|
+
"name", "sample_servermode_chat",
|
73
|
+
"allowScriptAccess","sameDomain",
|
74
|
+
"type", "application/x-shockwave-flash",
|
75
|
+
"pluginspage", "http://www.adobe.com/go/getflashplayer"
|
76
|
+
);
|
77
|
+
} else if (hasRequestedVersion) {
|
78
|
+
// if we've detected an acceptable version
|
79
|
+
// embed the Flash Content SWF when all tests are passed
|
80
|
+
AC_FL_RunContent(
|
81
|
+
"src", "sample_servermode_chat",
|
82
|
+
"width", "100%",
|
83
|
+
"height", "100%",
|
84
|
+
"align", "middle",
|
85
|
+
"id", "sample_servermode_chat",
|
86
|
+
"quality", "high",
|
87
|
+
"bgcolor", "#869ca7",
|
88
|
+
"name", "sample_servermode_chat",
|
89
|
+
"allowScriptAccess","sameDomain",
|
90
|
+
"type", "application/x-shockwave-flash",
|
91
|
+
"pluginspage", "http://www.adobe.com/go/getflashplayer"
|
92
|
+
);
|
93
|
+
} else { // flash is too old or we can't detect the plugin
|
94
|
+
var alternateContent = 'Alternate HTML content should be placed here. '
|
95
|
+
+ 'This content requires the Adobe Flash Player. '
|
96
|
+
+ '<a href=http://www.adobe.com/go/getflash/>Get Flash</a>';
|
97
|
+
document.write(alternateContent); // insert non-flash content
|
98
|
+
}
|
99
|
+
// -->
|
100
|
+
</script>
|
101
|
+
<noscript>
|
102
|
+
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
|
103
|
+
id="sample_servermode_chat" width="100%" height="100%"
|
104
|
+
codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
|
105
|
+
<param name="movie" value="sample_servermode_chat.swf" />
|
106
|
+
<param name="quality" value="high" />
|
107
|
+
<param name="bgcolor" value="#869ca7" />
|
108
|
+
<param name="allowScriptAccess" value="sameDomain" />
|
109
|
+
<embed src="sample_servermode_chat.swf" quality="high" bgcolor="#869ca7"
|
110
|
+
width="100%" height="100%" name="sample_servermode_chat" align="middle"
|
111
|
+
play="true"
|
112
|
+
loop="false"
|
113
|
+
quality="high"
|
114
|
+
allowScriptAccess="sameDomain"
|
115
|
+
type="application/x-shockwave-flash"
|
116
|
+
pluginspage="http://www.adobe.com/go/getflashplayer">
|
117
|
+
</embed>
|
118
|
+
</object>
|
119
|
+
</noscript>
|
120
|
+
</body>
|
121
|
+
</html>
|
Binary file
|
@@ -0,0 +1,35 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
|
3
|
+
layout="absolute" applicationComplete="app_complete()">
|
4
|
+
<mx:TextInput x="10" y="10" width="328" id="input" text="input"/>
|
5
|
+
<mx:Button x="346" y="10" label="ボタン" click="click();"/>
|
6
|
+
<mx:TextArea x="10" y="40" width="392" height="222" id="log" text="log"/>
|
7
|
+
|
8
|
+
<mx:Script>
|
9
|
+
<![CDATA[
|
10
|
+
import org.rubyforge.dango.*;
|
11
|
+
|
12
|
+
private var dango_client:DangoClientFramework;
|
13
|
+
|
14
|
+
public function app_complete():void{
|
15
|
+
var config:DangoConfig = new DangoConfig();
|
16
|
+
dango_client = new DangoClientFramework(config);
|
17
|
+
dango_client.addEventListener("dango__connect", dango__connect);
|
18
|
+
dango_client.addEventListener("dango_notice_message", dango_notice_message);
|
19
|
+
}
|
20
|
+
|
21
|
+
public function click():void{
|
22
|
+
dango_client.send_action("send_message", {"message": input.text});
|
23
|
+
}
|
24
|
+
|
25
|
+
private function dango__connect(evt:DangoReceiveEvent):void{
|
26
|
+
log.text = "接続完了\n"
|
27
|
+
}
|
28
|
+
|
29
|
+
public function dango_notice_message(evt:DangoReceiveEvent):void{
|
30
|
+
log.text += evt.receive_data["message"] + "\n"
|
31
|
+
}
|
32
|
+
]]>
|
33
|
+
</mx:Script>
|
34
|
+
|
35
|
+
</mx:Application>
|