
package {
import flash.display.Sprite;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.events.ProgressEvent;
import flash.net.Socket;
import flash.system.Security;
public class MySock extends Sprite
{
public var port:int = 80;
public var host:String = "127.0.0.1";
public var sock:Socket;
public var response:String;
public function MySock()
{
sock = new Socket();
sock.addEventListener(Event.CONNECT,connect);
sock.addEventListener(Event.CLOSE,close);
sock.addEventListener(ProgressEvent.SOCKET_DATA,dataHandler);
sock.addEventListener(Event.COMPLETE,dataOk);
Security.loadPolicyFile("http://"+host+":"+port+"/crossdomain.xml");
sock.addEventListener(IOErrorEvent.IO_ERROR,function(e:IOErrorEvent):void{trace("ioerr");});
start();
}
//这里是收不到数据的
public function dataOk(e:Event):void
{
trace("dataok:"+e.target.data);
}
public function close(e:Event):void
{
trace("关闭了!");
}
public function connect(e:Event):void
{
trace("连接成功!");
var header:String = "GET /crossdomain.xml HTTP/1.1 rn";
header += "Accept: */* rn"
header += "Accept-Language: zh-cn rn";
header += "UA-CPU: x86 rn";
header += "Accept-Encoding: gzip, deflate rn";
header += "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ) rn";
header += "Host: " + host + ":" + port + " rn";
header += "Connection: Keep-Alive rn";
header += "Cache-Control: no-cache rnrn";
sock.writeUTFBytes(header);
sock.flush();
}
//收到数据
public function dataHandler(e:ProgressEvent):void
{
trace("dataHandler:"+e.bytesLoaded);
var str:String = sock.readUTFBytes(sock.bytesAvailable);
response += str;
//if(e.bytesLoaded == e.bytesTotal)
trace("response->"+response);
}
public function start():void
{
sock.connect(host,port);
}
}
}
import flash.display.Sprite;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.events.ProgressEvent;
import flash.net.Socket;
import flash.system.Security;
public class MySock extends Sprite
{
public var port:int = 80;
public var host:String = "127.0.0.1";
public var sock:Socket;
public var response:String;
public function MySock()
{
sock = new Socket();
sock.addEventListener(Event.CONNECT,connect);
sock.addEventListener(Event.CLOSE,close);
sock.addEventListener(ProgressEvent.SOCKET_DATA,dataHandler);
sock.addEventListener(Event.COMPLETE,dataOk);
Security.loadPolicyFile("http://"+host+":"+port+"/crossdomain.xml");
sock.addEventListener(IOErrorEvent.IO_ERROR,function(e:IOErrorEvent):void{trace("ioerr");});
start();
}
//这里是收不到数据的
public function dataOk(e:Event):void
{
trace("dataok:"+e.target.data);
}
public function close(e:Event):void
{
trace("关闭了!");
}
public function connect(e:Event):void
{
trace("连接成功!");
var header:String = "GET /crossdomain.xml HTTP/1.1 rn";
header += "Accept: */* rn"
header += "Accept-Language: zh-cn rn";
header += "UA-CPU: x86 rn";
header += "Accept-Encoding: gzip, deflate rn";
header += "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ) rn";
header += "Host: " + host + ":" + port + " rn";
header += "Connection: Keep-Alive rn";
header += "Cache-Control: no-cache rnrn";
sock.writeUTFBytes(header);
sock.flush();
}
//收到数据
public function dataHandler(e:ProgressEvent):void
{
trace("dataHandler:"+e.bytesLoaded);
var str:String = sock.readUTFBytes(sock.bytesAvailable);
response += str;
//if(e.bytesLoaded == e.bytesTotal)
trace("response->"+response);
}
public function start():void
{
sock.connect(host,port);
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述