将UDP数据包发送到本地端口

时间:2015-03-03 15:06:42

标签: actionscript-3

我正在使用以下C#代码将数据包发送到本地端口。

Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
IPEndPoint endPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 9000);
byte[] send_buffer = Encoding.ASCII.GetBytes("Test message");
sock.SendTo(send_buffer, endPoint);

如何在Actionscript中的几个调用中执行相同的操作?我不需要任何双向通信或开销:尽可能少的代码将一个文本包发送到我在C#应用程序中运行的UDP服务器。

我尝试创建一个javascript函数来接受一个ExternalInterface调用并使用Node.js从Javascript发送它,但我认为可能有一种更简单的方法。

//FLASH
    ExternalInterface.call("sendToUDP", "Test message");

//HTML
    <script language="JavaScript" type="text/javascript">
    function sendToUDP(message) 
    { 
        //Some code to send a UDP packet from Javascript
    } 
    </script>

1 个答案:

答案 0 :(得分:3)

在AIR中使用DatagramSocket,这应该是与C#代码等效的AS3:

var socket:DatagramSocket = new DatagramSocket();
var address:String = "127.0.0.1", port:int = 9000;
var bytes:ByteArray = new ByteArray();
bytes.writeUTFBytes("Test message");
socket.send(bytes, 0, 0, address, port);