gpt4 book ai didi

sockets - Adobe AIR 桌面应用程序与处理应用程序通信

转载 作者:行者123 更新时间:2023-12-03 12:05:23 25 4
gpt4 key购买 nike

我有一个必须与桌面 Adob​​e AIR 应用程序对话的处理应用程序。
考虑到以下几点,有人可以提出最佳选择吗?

如果套接字是答案,哪种类型的 Socket、UDP(数据报类)、ServerSocket 或只是普通的 Socket?

- 两个应用程序都驻留在同一台机器上
-延迟很重要,越小越好
- 发送的信号很小,由 3 个值组成

- 通信只有 1 种方式,处理到 Adob​​e AIR

最佳答案

在处理方面,您可以使用 oscP5 :

import oscP5.*;
import netP5.*;

OscP5 osc;
NetAddress where;

void setup() {
frameRate(25);text("click to send\nOSC",5,50);

osc = new OscP5(this,12000);
where = new NetAddress("127.0.0.1",8082);
}
void draw() {}
void mousePressed() {
OscMessage what = new OscMessage("/straps");
what.add(193.4509887695313);
osc.send(what, where);
}

在 AIR 中,您将使用 DatagramSocket确实。幸运的是,您可以使用带有 OSC 数据包的东西,例如 TUIO AS3's UDPConnector .这是一个基本的 as3 示例:
package
{
import flash.display.Sprite;
import flash.utils.getDefinitionByName;

import org.tuio.connectors.UDPConnector;
import org.tuio.osc.*;

public class BasicOSC extends Sprite implements IOSCConnectorListener
{
private var oscSocket:UDPConnector;
private const OSCSERVER:String = "127.0.0.1";
private const PORT:int = 8082;

public function BasicOSC()
{
try{
oscSocket = new UDPConnector(OSCSERVER,PORT);
oscSocket.addListener(this);
trace(this,"OSC ready");
}catch(e:Error){ trace(e.getStackTrace()); }
}
public function acceptOSCPacket(oscPacket:OSCPacket):void{
//handle OSC here
var message:OSCMessage = oscPacket as OSCMessage;
trace("message from :",message.address,"at",new Date());
for(var i:int = 0; i < message.arguments.length; i++)
trace("\targs["+i+"]",message.arguments[i]);
}
}
}

这大致是我用于某些 these projects 的内容。 :
Hirsch&Mann Prevent Fires for Siemens Crystal
Hirsch&Mann City Monitor for Siemens Crystal

关于sockets - Adobe AIR 桌面应用程序与处理应用程序通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23202572/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com