我正在尝试编写一个简单的actionscript tcp客户端,它将数据发送到c ++ tcp服务器。我是动作脚本的新手,我正在使用adobe的示例代码(请参阅下面的链接)。我能够建立连接并发送数据,但只有在客户端卸载对象时才能在服务器上获得数据(因此我猜想关闭套接字)。我尝试使用c ++客户端,数据立即在服务器上可用,所以我必须在客户端丢失一些东西。也许我需要附加某种终止/标记序列?
通过tcp发送数据的Actionscript代码:
private function tcpConnect():void
{
var customSocket:CustomSocket = new CustomSocket("127.0.0.1", 5331);
customSocket.timeout = 100;
socketWrite(customSocket, 53);
socketWrite(customSocket, 54);
socketWrite(customSocket, 55);
socketWrite(customSocket, 56);
}
private function socketWrite(sock:CustomSocket, b:int):void
{
sock.writeByte(b);
sock.writeByte(0);
sock.flush();
}
C ++ tcp服务器:http://msdn.microsoft.com/en-us/library/windows/desktop/ms737593(v=vs.85).aspx
Actionscript tcp客户端:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/Socket.html#includeExamplesSummary
答案 0 :(得分:1)
在连接到服务器之后,客户端套接字将发送对跨域文件的请求,它将如下所示
<policy-file-request/>
您可能已在服务器日志中看到过这一点
此时服务器应通过套接字连接发回文件。
客户端获取文件后,可能会关闭连接。
现在您需要重新启动连接并发送所有数据而不受阻碍。