c++ - 在关闭套接字之前未传送 actionscript tcp 数据包

标签 c++ actionscript-3 sockets tcp

我正在尝试编写一个简单的 actionscript tcp 客户端,它将数据发送到 c++ tcp 服务器。我是 actionscript 的新手,我正在为客户端使用来自 adobe 的示例代码(参见下面的链接)。我能够建立连接并发送数据,但是只有当对象在客户端卸载时数据才在服务器上可用(因此我猜想关闭了套接字)。我尝试使用 c++ 客户端,并且数据在服务器上立即可用,所以我一定在客户端丢失了一些东西。也许我需要附加某种终止/标记序列?

Actionscript 代码通过 tcp 发送数据:

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

最佳答案

连接到服务器后,客户端套接字将发送跨域文件请求,如下所示

 <policy-file-request/>

您可能已经在服务器日志中看到了这一点

此时服务器应该通过套接字连接发送回文件。

一旦客户端获取文件,它可能会关闭连接。

现在您需要重新启动连接并无阻碍地发送所有数据。

关于c++ - 在关闭套接字之前未传送 actionscript tcp 数据包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18383190/

相关文章:

c++ - 有没有办法在容器中存储不同的函数指针类型

c++ - 为什么确定友元声明是否是其命名空间中的第一个如此重要?

flash - 削减嵌入式视频的声音

java - 网络浏览器中的录音小程序/Flash

javascript - Flash 回调后恢复 Jquery 功能

javascript - Socket.io 400(错误请求)

Python套接字监听所有端口

rest - Docker API 返回 200 OK 然后 400 BAD REQUEST

c++ - Ctor 初始化程序 : self initialization causes crash?

c++ - 使用 pthread_setspecific 和 pthread_getspecific 存储指向 std::map 实例的指针