将值从 c# 传递到 actionscript 3 和跨域问题
Posted
技术标签:
【中文标题】将值从 c# 传递到 actionscript 3 和跨域问题【英文标题】:Passing values from c# to actionscript 3 and crossdomain questions 【发布时间】:2017-08-11 00:55:14 【问题描述】:我有一个想用于游戏服务器的 C# 控制台应用程序 正在编写的客户端是as3。 稍后我将把 swf 嵌入到 c# 表单中。 我有几个问题,我真的希望有人能帮助我解决这个问题。 目前我已将其设置为发送登录服务器的请求,此时服务器会检查您在用户名和密码字段中输入的信息 并核实信息。 如果您通过身份验证,您就可以连接。 我的问题是我不知道如何将特定信息发送回闪存,例如字符串或整数。 例如,我想为显示用户统计信息之类的事情执行此操作。 我查看了很多教程,但大多数都是关于使用嵌入在 c# 服务器应用程序中的 flash 应用程序,并且操作方式与我需要的方式不同。
我只想将一个字符串或整数从我的 c# 服务器发送到我从 mysql 检索到的 flash 应用程序。 因此,如果有人能告诉我如何将字符串或 int 作为原始值发送到 flash,请告诉我 :)
如果可以请发一个sn-p的代码...我还是很新的as3 c#通信。
如果您需要来源,请在 Skype 上与我联系 Skype = Serifaz2 我不想只是公开发布它......对不起:(
【问题讨论】:
我也忘了提如果有人知道我可以通过跨域从其他计算机访问服务器的方法,请也加我:) 要在 Flash/AS3 客户端和某些服务器之间以全双工模式发送二进制数据,您需要在 AS3 端使用 Socket 类。服务器应首先为新连接的客户端提供套接字策略,此处解释:***.com/questions/7412203/… 此处的客户端代码示例:***.com/questions/5978480/… 好的,我知道这就是我如何让跨域和客户端工作。但是我如何将 int 或字符串发送到 flash,然后在 flash 中检索它?抱歉,我不知道这是否已经回答,但我没有在那些页面上看到如何做到这一点。 通常你在谷歌上搜索类似 > "as3 socket example" 并获得很多相关链接,包括官方文档页面 help.adobe.com/en_US/as3/dev/… 或 help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/… 我确实查过了。我一无所获。并且 adobe 页面没有显示如何从 c# 端发送任何内容。你能给我一个例子,说明我如何从 c# 发送一个字符串或一个 int 并在 as3 中检索它吗? 【参考方案1】:没关系,我想通了。其实很简单。 C#
Socket socket = TcpClient.Client;
string UserTest = "" + Username;
try
// sends the text with timeout 10s
UserInfo.Send(socket, Encoding.UTF8.GetBytes(UserTest), 0, UserTest.Length, 1000000);
catch (Exception ex) /* ... */
AS3
while(socket.bytesAvailable)
var str:String = this.socket.readUTFBytes(this.socket.bytesAvailable);
trace(str);
myTrace("you have something");
【讨论】:
以上是关于将值从 c# 传递到 actionscript 3 和跨域问题的主要内容,如果未能解决你的问题,请参考以下文章
如何将值从 javascript 传递到嵌入式 flex 对象?
将值从 BackgroundWorker DoWork 传递到 BackgroundWorker Completed