FMS4.0 클라이언트가 서버 스크립트 파일main에 액세스합니다.asc
1. 클라이언트
package
{
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.events.NetStatusEvent;
import flash.events.SyncEvent;
import flash.net.NetConnection;
import flash.net.SharedObject;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import fl.events.ColorPickerEvent;
import flash.events.Event;
import flash.geom.ColorTransform;
import flash.net.URLRequest;
import flash.display.Loader;
public class RemoteStore extends Sprite
{
private var remoteStore:SharedObject;
private var con:NetConnection;
private var pos:Array;
private var isDrawing:Boolean = false;
private var lineColor:uint;
private var lineThickness:Number = 1.0;
private var points:Array;
private var isFirstSync:Boolean = true;
private var sprite:Sprite=new Sprite();
private var UserName:String = "123";
public function RemoteStore()
{
mog_lb.text = " ....";
this.addChild(mog_lb);
var picreq:URLRequest = new URLRequest("ms.jpg");
var pic:Loader=new Loader();
pic.load(picreq);
bank.addChild(pic);
bank.addChild(sprite);
con=new NetConnection();
var clientObj:Object = new Object();//flash.net.NetConnection onBWDone。
clientObj.WB = WB;
con.client = clientObj;
con.connect("rtmp://localhost/RemoteStore");
con.addEventListener(NetStatusEvent.NET_STATUS,onConNetStatu);
}
public function onConNetStatu(e:NetStatusEvent):void
{
if (e.info.code == "NetConnection.Connect.Success")
{
remoteStore = SharedObject.getRemote("DrawDemo",con.uri,false);
remoteStore.connect(con);
remoteStore.fps = 10;
remoteStore.data.pos = points;
remoteStore.client = this;
remoteStore.addEventListener(SyncEvent.SYNC,onSynchandler);
mog_lb.text = " ...";
trace("NetConnection.Connect.Success");
}
if (e.info.code == "NetConnection.Connect.Failed")
{
mog_lb.text = " ..";
}
}
public function onSynchandler(e:SyncEvent):void
{
if (isFirstSync)
{
this.bank.addEventListener(MouseEvent.MOUSE_MOVE,onmouseMove);
this.bank.addEventListener(MouseEvent.MOUSE_DOWN,onmouseDown);
this.bank.addEventListener(MouseEvent.MOUSE_UP,onmouseUp);
cleaner.addEventListener(MouseEvent.CLICK,clicker);
btn.addEventListener(MouseEvent.CLICK,clicker1);
}
if (isDrawing)
{
return;
}
if (remoteStore.data.pos != null)
{
this.sprite.graphics.lineStyle(lineThickness,lineColor);
var pos:Array = remoteStore.data.pos as Array;
for (var i:int=0; i<pos.length; i++)
{
if (i == 0)
{
this.sprite.graphics.moveTo(pos[i].x,pos[i].y);
}
else
{
this.sprite.graphics.lineTo(pos[i].x,pos[i].y);
}
}
}
}
public function onmouseUp(e:MouseEvent):void
{
remoteStore.setProperty("pos",points);
isDrawing = false;
remoteStore.send("setLineStyle",lineThickness,lineColor,colorTran);
}
public function onmouseDown(e:MouseEvent):void
{
getcolor.addEventListener(ColorPickerEvent.CHANGE,changeHandler);
getnum.addEventListener(Event.CHANGE, changeNum);
e.updateAfterEvent();
this.sprite.graphics.lineStyle(lineThickness,lineColor);
points=new Array();
this.sprite.graphics.moveTo(e.localX,e.localY);
points.push({x:e.localX,y:e.localY});
}
public function onmouseMove(e:MouseEvent):void
{
if (e.buttonDown)
{
this.sprite.graphics.lineTo(e.localX,e.localY);
var p:Object = {x:e.localX,y:e.localY};
points.push(p);
isDrawing = true;
e.updateAfterEvent();
}
}
public function setLineStyle(thickness:Number,clr:uint,col:uint):void
{
colorTran = col;
lineThickness = thickness;
lineColor = clr;
}
public function changeHandler(e:ColorPickerEvent):void
{
lineColor = e.target.selectedColor;
}
public function changeNum(event:Event):void
{
lineThickness = event.target.value;
}
public function clicker(event:MouseEvent):void
{
this.sprite.graphics.clear();
con.call("clearWB", null,UserName);
}
public function clicker1(event:MouseEvent):void
{
this.sprite.graphics.clear();
con.call("clearWB", null,UserName);
}
public function WB(UserName:Object):void
{
trace("------WB--------");
this.sprite.graphics.clear();
}
}
}
2. 서버 쪽:
application.onAppStart = function() {
trace("onAppStart");
};
application.onConnect = function(client, uName) {
trace("onConnect = "+uName);
client.UserName = uName;
application.acceptConnection(client);
// ( client_nc.call )
client.clearWB= function(aa) {
trace(aa)
application.broadcastMsg("WB", aa);
};
};
application.onAppStop = function() {
trace("onAppStop");
};
3. 존재하는 문제
문제: FMS가 설정되어 있고 포트도 열려 있어 서버에 연결할 수 있지만 main에 접근할 수 없습니다.asc 파일.
해답: 인터넷의 일부 예는 모두 fms3.0을 바탕으로 한다.패션이 FMS4.0 데모 버전이어서 방문이 성공하지 못했습니다.fms3.0으로 다시 설치하는 줄 알았는데 뜻밖에도 천지회에서 방법을 발견했는데 뜻밖에도 해결되었다.방법은 다음과 같다. FMS를 설치한 후 반드시 C:\Windows\system32\drivers\etc\hosts, 즉 host라는 파일을 열고 수첩 프로그램으로 열어야 한다. 마지막 줄에 추가: 127.0.0.1 activate.adobe.com .서버 리셋, 끝!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
집 서버 설계 (하드웨어 편)자신의 Redmine이나 ownCloud를 운용하기 위해 사쿠라 VPS, DigitalOcean, OpenShift 등을 놀랐습니다만, 침착 해 왔으므로 현상을 정리하고 싶습니다. 먼저 하드웨어 구성을 정리합니다. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.