ActionScript 3.0 :: Binary Socket Connection Interruption / Bytes Lost?

Jan 11, 2011

I am starting with a short introduction: I am currently working on a project, which involves a server application written in .NET (C#) and a flash gui app as client (standalone flash player 10 [code is written in Actionscript 3.0]). The server constantly sends bitmaps to the client (up to 30fps). The connection is established using binary sockets and data ist streamed to avoid socket open/close/reconnection problems.The bitmaps sent to the client are marked with begin- and end-tags. A length field was added as well, to optimise the following parsing process. The client buffers the received data up to the point where an end-tag is found. The client reassambles the bitmaps on the screen by parsing the current buffer. Parsing means looking for begin-tags and length fields and/or end-tags of pictures packages. The resulting bitmap data is copied into a byte array and will loaded into a movieclip using the flash.display.Loader class ( bytePictureLoader. loadBytes( byteArray ); ).[code]While testing, I found out that in some cases the data stream becomes currupted, i.e. data is lost and/or the transmittion is incomplete.
 
A good thing is that this error is reproducable.It seems that as soon as the Flash Application Window is dragged (moved on Windows Desktop) the stream lacks data. The same error occurs, if too much data is sent to the client. The results are performance problems, data loss and other strange effects. The more data is sent on the stream, the more data has to be parsed and the more data gets lost somehow. Sometimes this leads to a memory problem, because Begin- and End-Tags aren't transmitted correctly. In order to fix (counteract) that, I discard data as long as there is no Begin-tag found and the buffer is cleared when the size exceeds 1Mb.It works so far, but the application lacks performance and stability.I.e. If 20 bitmaps per second with 620x390px are sent to the client, the client only receives 16 to 17 bitmaps, if the application does nothing else.If 30 bitmaps per second with 620x390px are sent to the client, the client only receives about 20 to 21 bitmaps.I am guessing that using actuall video streams would be better, then sending one bitmap at a time in a byte stream.Is there a proper example on how to build a client app in flash to receive/parse a binary data stream?Does anyone else has recognized the lost-data problem or the interruption of streams?

View 2 Replies


Similar Posts:


ActionScript 3.0 :: Hex/Binary Data Over Socket?

Oct 21, 2008

I have a custom socket class designed to connect to a server and talk with it. At one point, the server uses hex data for speed, however Flash seems to not get ANY of this data. In fact, it doesn't get ANY of the data from that point to the next packet.

View 2 Replies

ActionScript 3.0 :: Binary Socket Communicates Once

Nov 15, 2010

I'm using a binary socket to talk to a server and it works fine the first time I send data. Then I receive data from the server and send a response but it's never received... like the connection closed or something. I have an event handler on the socket close event, but it doesn't fire. I can trace to the socket sending data, but if I trap the data received event on the server, nothing is received.. like it's closed the socket. Is there something I need to reset or have I missed a key concept in binary sockets?

View 2 Replies

ActionScript 3.0 :: Socket Data Getting Lost / Sent Out Of Order?

Jun 8, 2010

Basically what is happening is that my Flash client claims that it is calling functions that don't arrive at the server or they arrive, but the socket data is out of order and therefore is garbled.In particular, there's class I have called RPCSocket that extends the AS3 Socket class so I can serialize data structures before sending them across a socket.At one point, this RPCSocket class calls super.writeBytes and super.Flush. It is the point at which I send all data out of my client. The data is binary data in AMF3 format.[code]Can someone recommend a way for me to store without corruption, conversion, or filtering or translation of any kind *all* of the information sent across this socket? I'd like to write it to a file. I'm guessing that keep a global ByteArray var and storing the info there might work, but I'm wondering how I might get the contents of that ByteArray into a file so I can inspect it.Also, I'm wondering if I might be able to inspect what flash actually sends out on the socket? I have a sneaking suspicion that data I supply to super.writeBytes may be sent out of order or may not actually get sent across the socket. This bug I'm talking about only seems to happen under high-stress situations when I'm sending dozens of messages per second across this one socket.

View 4 Replies

ActionScript 3.0 :: Data Written To Socket Getting Lost?

Jun 8, 2010

asically what is happening is that my Flash client claims that it is calling functions that don't arrive at the server -- or they arrive, but the socket data is out of order and therefore is garbled.  I've stared at the source code for hours and tried a lot of trial-and-error type stuff and added trace statements to see if I can find the problem and I'm not having any luck.
 
In particular, there's class I have called RPCSocket that extends the AS3 Socket class so I can serialize data structures before sending them across a socket.  At one point, this RPCSocket class calls super.writeBytes and super.Flush.  It is the point at which I send all data out of my client. The data is binary data in AMF3 format.

public function executeRPC(serviceName:String, methodName:String, methodParams:Array):void {               if (!this.connected) {                    log.write('RPCSocket.executeRPC failed. ' + methodName + ' attempted on service ' + serviceName + ' while not connected', Log.HIGH);                    throw new Error('RPCSocket.executeRPC failed. ' + methodName + ' attempted on service ' +

[code]....

Can someone recommend a way for me to store without corruption, conversion, or filtering or translation of any kind *all* of the information sent across this socket? I'd like to write it to a file.  I'm guessing that keep a global ByteArray var and storing the info there might work, but I'm wondering how I might get the contents of that ByteArray into a file so I can inspect it.
 
Also, I'm wondering if I might be able to inspect what flash actually sends out on the socket?  I have a sneaking suspicion that data I supply to super.writeBytes may be sent out of order or may not actually get sent across the socket.  This bug I'm talking about only seems to happen under high-stress situations when I'm sending dozens of messages per second across this one socket.

View 2 Replies

ActionScript 3.0 :: XML Socket Class - TCP Signals Lost

Jan 10, 2011

I am working on a project involving two actionscript clients and a java server. XML messages are sent from the clients to the server (and vice versa) via the XMLSocket class. The problem I am running into is that when messages are sent too quickly to one of the clients the client seems to lose track of them (it will not respond to them at all). The wierd part is when subsequent messages come in, the client will respond to old messages instead. It's as if the XML messages are getting queued up somewhere, but the signal that prompts the program to deal with them gets lost.

View 4 Replies

Actionscript 3 :: Load External Swf Using Binary Socket?

Sep 19, 2011

is it possible to load a swf into another swf using a binary socket instead of the traditional AS3 Loader class? Would you share some code or pointers?

View 1 Replies

Actionscript 3.0 :: Connecting To A Ftp Server With Binary Socket?

Dec 30, 2008

I'm trying to make a little ftp upload app - not a full FTP client, just something to enable image upload with decent performance. I basically took the approach Lee used in his POP3 socket tutorial. The problem I'm having is that I can connect to the FTP server and I can authenticate and log in but as soon as I try to enter passive mode for data transfer I get nothing- not even an error. From looking at the FTP RFCs, FTP requires two TCP connections - a command connection and a data connection - does this mean that I need to open a second socket for the data transfer? Another possible issue is the Flash Player security policy not allowing conection to ports under 1024 - I have not placed a policy file or policy server on the host running the FTP server but as I can successfully login, I appear to be able to connect to port 21 (standard FTP port) anyway. The code I'm using is:

Code: Select allvar s:Socket = new Socket("ftp.actechnology.co.uk",21);
var ftp_response:String;
s.addEventListener(ProgressEvent.SOCKET_DATA, receiveReply);
s.addEventListener(IOErrorEvent.IO_ERROR, showError);

[Code].....

why passive mode kills it or has successfully connected to a FTP server with the socket class

View 10 Replies

Java :: Binary Socket And Policy File In Flex

May 17, 2010

I'm trying to evaluate whether Flex can access binary sockets. Seems that there's a class calles Socket (flex.net package). The requirement is that Flex will connect to a server serving binary data. It will then subscribe to data and receive the feed which it will interpret and display as a chart. I've never worked with Flex, my experience lies with Java, so everything is new to me. So I'm trying to quickly set something simple up. The Java server expects the following:

DataInputStream in = .....
byte cmd = in.readByte();
int size = in.readByte();
byte[] buf = new byte[size];
in.readFully(buf);
[Code] .....

After that - EOFException happens on the server and that's it. So the question is, am I approaching whole streaming data issue wrong when it comes to Flex? Am I sending the policy file wrong? Unfortunately, I can't seem to find a good solid example of how to do it. It seems to me that Flex can do binary Client-Server application, but I personally lack some basic knowledge when doing it. I'm using Flex 3.5 in IntelliJ IDEA IDE.

View 1 Replies

ActionScript 3.0 :: Binary Socket Policy File On Server

Jan 15, 2009

I am attempting to setup a binary socket connection between flash running on my desktop and a Rabbit RCM3800 Microcontroller providing the server on my home network, which has no file system and has a very basic http server on it. Due to limitations of the microC I cannot run Java/Perl/Python or any other server on it other than setting up a server using its own native Dynamic C language (essentially manually opening and controlling sockets in C). I am able to successfully connect to a socket on port 3333 of the server and transfer information between the server and the .swf file when it is the sandbox type "local-trusted" (while I'm debugging in Flash).

Because of this I'm fairly certain the code to setup the socket between the server and flash works fine. My problem occurs when I try to run the .swf file as "local-with-network" (such as running it after publishing on my desktop) or "remote" (accessing the .swf file when it is located on the server) and it then requires a socket policy server to host a socket policy file on the server. On my server I have code setup such that whenever a socket opens on port 843 or port 3333 (my data port) and sends a stream of raw data containing the request <policy-file-request/>, the server writes back in ASCII the below code and closes the socket.

Code:
Select all<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "[URL]">
<cross-domain-policy>
<site-control permitted-cross-domain-policies="all"/>
<allow-access-from domain="*" to-ports="*" />
</cross-domain-policy>
[Code] .....

So for some reason flash times out while waiting for the socket policy file. I have tested sending the <policy-request-file/> over telnet, and have received the above policy file. I have also sniffed using wireshark and saw that my desktop sent the policy request and received the policy file. I am guessing that Flash times out because it is waiting for some kind of terminating character that states the end of the policy file, and to that end I have tried sending. Interestingly, instead of sending the policy file I have tried sending random data from the server to flash, and flash displayed the Warning: Ignoring policy file at (URL) due to incorrect syntax. Because I don't receive this warning when I send my policy file I don't think it is formatted incorrectly.

I have also tried using the below flash code to hold the socket request open indefinitely, but it also errors after 20seconds.
Code: Select allSecurity.loadPolicyFile("xmlsocket://192.168.1.59:843");
The .swf file will eventually reside on the server itself at 192.168.1.59/myProg.html. I have only tested the flash file remotely on the server a couple times, and in addition to the previous warnings/errors, I received the warning: SWF from (URL) may not connect to a socket in its own domain without a policy file.

View 1 Replies

ActionScript 3.0 :: Catch An Event Of Lost Connection?

May 6, 2010

I am loading some SFWs to my main application then I lose connection with the internet...
 
I tried the following:
 
myLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, IOErrorEventHandler);
public function IOErrorEventHandler(event:IOErrorEvent):void{        trace ('Error, connection lost');}
 
I simulated the breaking connection by hosting the SWFs files in a network, when it is loading them I disconnected the network cable.
 
But the trace don't come out.
 
Is there a way for me to caugh an event that shows me that they cannot be loaded becouse im not connected anymore?

View 5 Replies

ActionScript 3.0 :: Debugging Socket Connection?

Nov 12, 2008

I have a project where I communicate net.socket class.Everything works fine but when I try to start the debugger I only get someerror message:

Versuch, zu starten und Verbindung zu Player mit URL
c:flash_testSocket.swf herzustellen
[SWF] c:flash_testSocket.swf - 6006 Byte nach

[code].....

View 1 Replies

ActionScript 3.0 :: Use The Debugger With A Socket Connection?

Aug 18, 2009

is there a way to use the debugger with a socket connection? When running debugger I can't get a connetion to my serveer.

View 3 Replies

Flash :: Establish An SSL Connection From A Socket In It?

Sep 26, 2010

Is it possible to establish an SSL connection from a Socket in Flash?

View 1 Replies

ActionScript 3.0 :: Socket Connection To Port 443?

Jul 16, 2009

I am able to establish socket connection to a remote machine by first loadind the policy file. But the same thing is not working if i am trying to connect to the same remote machine & 443 as port No. In policy file the connection is allowed to all ports.

Is there any thing else to be done. I am geting sandbox violation error.

View 1 Replies

Actionscript 3.0 :: Socket Connection In Browser?

Aug 9, 2011

I am using flash socket to connect to ftp and upload files. Its working fine in flash IDE but it give security error in browser. I have loaded policy file by ecurity.loadpolicyFile() also i have specified Security.allowDomain("*") but still it doesnt work. I have placed my crossdomain.xml at root level on ftp.My crossdomain.xml looks like this..

<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>

[code].....

View 9 Replies

ActionScript 2.0 :: Checking Xml Socket Connection?

Jan 12, 2007

how to check if an xml socket connection was made? i mean the code for it.

View 5 Replies

ActionScript 3.0 :: Socket Connection Testing Outside Of CS3?

Feb 17, 2009

I'm writing a online application in flash and I'm trying to test the socket connection over a java server running on localhost. It works fine running in the CS3 environment using ctrl+enter and it's communicating with the server and sending information back and forth. But I can only test one client at a time like this. When I try to run the swf straight it isn't connecting. how to set up the permissions correctly so I can test locally?

View 1 Replies

ActionScript 3.0 :: Policy File With Socket Connection?

Jan 6, 2011

I have 2 applications which I wrote in ActionScript 3.0 as client and C#.net as server. These are basic chat applications. Also I have a test website which is running under the same machine with chat server application.
 
Server application is listening 289 port, flash application connecting to server with domain and 289 port, it can talk with server during working on Flash. But when I put the flash in a html page, the socket connection is breaking after a while because of security reasons.
 
I know that is necessary to put a crossdomain.xml file on target website's root folder. The problem is here: Yes, there is a crossdomain.xml file like this:[URL]...

View 2 Replies

Detect That TCP Connection Has Been Refused Using Flash.net.Socket?

Aug 3, 2010

There is a flash movie which is using flash.net.Socket to connect to a server. But there could be a situation when the server is not running, hence nothing is listening on the port socket is connecting to.

When I do "telnet hostname port" I get a fast connection refused error. But flash.net.Socket does not invoke any event (see below), but silently waits for socket timeout. For me it is important to reduce time needed to detect non-existing server as much as possible to be able to reconnect to another server in the cluster.

I've tried the following events, but to no avail:

close
connect
ioError
securityError
socketData

None of these is invoked in such situation.

Is there a way to detect that TCP connection has been refused using flash.net.Socket?

View 3 Replies

ActionScript 3.0 :: Reconnect To Socket After Connection Drops?

Dec 22, 2011

I would like Flash to reconnect to a socket if its connection is dropped. I am using the Socket class to establish a connection and then adding an Event.CLOSE listener to the socket. What is a good strategy to reconnect back to the socket if the connection has suddenly closed? Here is a the method I am calling inside the close handler. The connect() method establishes a new socket connection

HTML Code:
private function handleOutage():void
{
// if socket is not connected

[code]...

However, I keep getting the following error:

HTML Code: Error #2044: Unhandled securityError:. text=Error #2048: Security sandbox violation

View 1 Replies

IDE :: Flash Connection To PHP Socket Fails When Online?

Sep 12, 2009

.to the letter after installing Apache and PHP on my pc. And i am geting really fraustrated because i cannot get the flash objects to connect to the PHP socket when they have been uploaded to the localhost server or any other online server. However it works no problem when i run the flash object straight from my HD. The socket is definately open because telnet connects to it fine.

My pc ip is 192.168.1.7. And when I transfer the flash object to any other pc on my lan, if it is on the hd, it connects to my pc no problem. However, if i were to type in http:[url]... it DOESN'T WORK.

View 14 Replies

ActionScript 3.0 :: Flash Socket Connection In Browser?

Aug 9, 2011

I am using flash socket to connect to ftp and upload files. Its working fine in flash IDE but it give security error in browser. I have loaded policy file by Security.loadpolicyFile() also i have specified Security.allowDomain("*") but still it doesnt work. I have placed my crossdomain.xml at root level on ftp.

My crossdomain.xml looks like this..

<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<site-control permitted-cross-domain-policies="master-only"/>

[code]...

Yet there is security error...

View 2 Replies

ActionScript 3.0 :: Socket Connection - Sending Data Without Any Errors?

Mar 18, 2009

I use a socket connection to share data between flash and VB. I check the connection in VB and send a message when my flash is connected. My VB tool then sends the data continuesly (about every 40 milliseconds or slower) to flash. Works fine. Now I have to send some data back from flash to VB. I can send the data without any errors in Flash but it never arrives in VB.

View 3 Replies

C# :: Security Sandbox Violation For Socket Connection Using Flex

Sep 29, 2009

import flash.events.*;
import flash.net.XMLSocket;
import flash.system.Security;

[Code]....

I want to implement flex web application using Socket connection. But I am getting sand box violation error for remote sites in sample application . It is working fine in local.

Error:

Security Sandbox Violation
Error: Request for resource at xmlsocket://170.21.8.0:4000 by requestor from http://localhost/Sample/DotNetSocketConnect.swf is denied due to lack of policy file permissions.

View 1 Replies

Actionscript 3 :: Pass Object To The Server Through Socket Connection?

Jan 30, 2010

I am trying to pass object to the server through socket connection in actionscript 3. What is the best way to do that?

is serialization better? or should I encode it first and then sent it as string?

View 1 Replies

Flex :: Completing A Socket Connection Across An Intranet Or Internet

Feb 12, 2010

I am writing a peer-to-peer binary socket program. There are only two endpoints. One socket is listening on my laptop system. The other socket is broadcasting from my desktop system. I have a third program running on a hosted server, that is available to broker the connection between the two. My problem is that when the laptop and desktop are on the same network, they both have the same internet IP address but different intranet IPs, but when the laptop is on the road, then the IP addresses are different. In order to be truly peer-to-peer, I have to write it so that after the connection is established, that the two computers communicate directly between one another. How is this generally accomplished, when the two computers could potentially share the same IP address, if they are running on the same network?

View 1 Replies

ActionScript 3.0 :: Socket Connection Close Event Not Dispatched

Jul 18, 2011

Why the Close Event is not dispatched after I disconnect my wifi connection? Or any way to determine if the connection is active.

View 2 Replies

Actionscript 3 :: Security Error 2048 On Socket Connection

Feb 11, 2012

I have a simple IRC socket that is used to communicate with servers for a web-based IRC client. Unfortunately, attempting to connect to a network results in a security error. I read up on sandboxes and their appropriate permissions, and then used Security.sandboxType to get the sandbox of my socket, which came up as remote. After reviewing the documentation, I still don't fully understand how I can enable my socket to connect to a remote IRC server. I tried Security.allowDomain,

View 1 Replies

Flex :: Sending Character Zero "&#65533;" Over Binary Socket?

Feb 19, 2009

This code doesn't send the trailing null byte. How do I send the trailing null?

Socket.writeUTFBytes('Hello World');
Socket.flush();

View 4 Replies







Copyrights 2005-15 www.BigResource.com, All rights reserved