2015-03-03 4 views
1

Я использую следующий код C# для отправки пакета в локальный порт.Отправлять пакет UDP на локальный порт

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? Мне не нужна двусторонняя связь или накладные расходы: как можно меньше кода, чтобы отправить пакет текста на UDP-сервер, который я запускаю в приложении C#.

Я попытался создать функцию javascript, чтобы принять вызов ExternalInterface и отправить его с Javascript с помощью Node.js, но я думаю, что может быть более простой способ сделать это.

//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> 
+0

УДП доступен только с Adobe Air. [Ссылка Adobe] (http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/DatagramSocket.html) – Nambew

ответ

2

Использование DatagramSocket в воздухе, это должно быть эквивалентно AS3 в код C#:

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); 
Смежные вопросы